Archlinux : 크로스 플랫폼 패키지 및 .deb 패키지 생성

약 XNUMX 년 전에 저는 Archlinux 용 패키지 생성. 오늘은 패키지에서 생성하는 방법을 설명하겠습니다. , 사용되는 데비안 / 민트 / 우분투 등.
이 기사는 포럼에서 사용자의 질문을 읽은 후에 작성되었습니다. Jorgegc AUR에서 패키지를 설치할 수 없었기 때문입니다. 주로 오래된 버전이고 사용했기 때문입니다. 중단 PKGBUILD (이전에 이런 식으로 패키지를 만들었습니다), 필요한 프로그램 패키지를 만드는 방법도 설명합니다. 32 비트 라이브러리,의 닫힌 코드 o 이미 컴파일 다운로드 할 수있는 다른 패키지가 있습니다.

PKGBUILD의 기본은 동일하지만 몇 가지만 변경하면됩니다.
첫 번째 변경 사항은 문장 사용입니다. elif라면 작성자 Bash


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

이 예에서는 나중에 변경하는 데 사용할 변수가 정의되었습니다. URL 패키지는 어디에 있습니까 (이 경우 다운로드 할 패키지의 아키텍처).
또한 아키텍처에 따라 MD5 합계 그래서 우리는 이것들을 상응하는 것으로 바꿀 것입니다.

makepkg -g를 사용하여 MD5sum 이렇게하면 사용중인 아키텍처에 해당하는 항목 만 생성됩니다. 다른 패키지의 MD5 합계를 확인하려면 다운로드하고 다음 명령을 사용하십시오. md5sum file.deb 너를 알기 위해

마지막으로 예제에서 종속성이 변경되었음을 알 수 있습니다. 일부 64 비트 프로그램에서는 다음을 설치해야합니다. 일부 라이브러리의 32 비트 버전 그래서 우리는 그것들을 표시해야합니다. 필요하지 않은 경우 일반적인 방법으로 변수를 정의하십시오.

이제 .deb 패키지의 경우 함수 내부에 다음 줄만 필요합니다. 패키지 ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

보시다시피이 경우 패키지를 생성하려면 3 줄만 필요합니다. 다른 것이 필요한 경우 (예 : 패키지와 함께 제공되지 않는 파일을 복사하거나 하나의 내용을 수정) 다른 패키지와 마찬가지로 넣으면됩니다.

.deb 대신 패키지를 사용할 경우에도 동일하게 적용될 수 있습니다 (일부 변경 사항 포함). RPM 또는 다른 유형의 패키지. 함수 짓다 ()는 필요하지 않으므로 추가 할 필요가 없습니다.

그리고 짜잔, 우리는 이미 multilib 패키지를 가지고 있거나 사용할 준비가 된 deb 패키지에서 생성되었습니다.
당신이 그것을 좋아하고 그것이 나를 잘 설명했기를 바랍니다 😀


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   율리시스

    checkinstall을 사용하는 것이 더 쉽지 않습니까?

  2.   루치아노 라 가사

    안녕. bash 스크립트가 있습니다. 하나는 deb 패키지의 기본 폴더와 파일을 생성하는 것입니다. 그리고 모든 파일과 폴더에서 패키지를 생성하는 마지막 파일입니다. 관심이 있다면 공유 할 수 있습니다.

    1.    요르게크

      물론 관심이 있습니다 ... 적어도 나에게는.

      이제 만자로와 함께 있으므로 가능한 모든 정보에 감사드립니다.

  3.   요르게크

    당신은 얼마나 위대한 지, 파트너.

    deb 패키지를 컴파일하는 방법을 설명해 주시고 관대함을 남용하지 않기 위해 아무 말도하지 않았다면 포럼에서 말씀 드렸을 것입니다. 페이지로 이동하여 전체 프로세스를 설명하는 기사를 업로드 한 것을 확인했습니다.

    이것은 당신이 관대 한 사람임을 보여줍니다.

    나는 당신이 균열이라고 말했다.

    인사

  4.   아니 발

    deb에서 .rpm으로 변환 된 이름이 기억 나지 않는 소프트를 한 번 사용해 보았지만 잘 작동하지 않았습니다.

    이 소프트가 rpm으로 잘 전달되고 설치가 잘 열리면 아치 테스트를하는 사람이 있습니까?

    http://www.justcloud.com/download/linux-64

    클라우드에 백업하는 것인데 이미 한동안 지불했고 클라우드에 40GB 이상이 있습니다 =)

  5.   인스

    큰! 나는 언젠가 패키지를 만들고 싶다고 항상 스스로에게 말했다.

    이러한 유형의 게시물에서 블로그가 내 계정의 "즐겨 찾기"에 이와 같은 항목을 추가하는 옵션을 구현 한 것에 감사드립니다.

    1.    치 놀로 코

      완전히 동의하고 심었지만 아무것도 없습니다 🙂
      특정 사용자를 팔로우 할 수있는 것도 좋을 것입니다.

  6.   랍바

    위대한 노인, 나는 며칠 동안 manjaro를 사용하고 있으며 연구를 위해 Cisco에서 패킷 추적기를 설치해야하지만 최신 버전의 .deb 패키지 만 있고 ke는 AUR에 항상 컴파일 할 때 오류가 발생합니다. 나는 강제로 리눅스 민트를 사용하고 있기 때문에이 단계를 통해 설치할 수 있기를 바랍니다. 대단히 감사합니다

  7.   미코

    누군가가 AUR Multisystem에 감히 들어갈 수 있는지 확인하기 위해

    arch에없는 deb 라이브러리에 의존

    그러나 작동한다면 그 기능은 grub2로 다중 ISO 펜 드라이브를 만드는 것입니다.

    현재 USB 자체에서 부팅하려는 경우 이미지를 추가 할 수있는 내부의 우분투 ISO가 있습니다.

    하지만 아무도 감히 내 티켓을 구하지 않는다면

  8.   미코

    죄송합니다. 이미 다중 시스템이 있습니다.

    1.    미코

      다중 시스템에서 ...

      그러나 yaourt가 문제를 일으키기 때문에 fatresize를 선택합니다.

  9.   마르코스

    파일 이름을 대량으로 변경하는 프로그램을 "Purrr"로 승인하는 것이 좋습니다.

  10.   Apr4xas

    감사합니다,

    현재 AUR에서는 package () 기능이없는 패키지를 제거하고 있습니다. 어떤 줄을 넣을지 어떻게 알 수 있습니까? 즉, 패키지가 여러 개 있는데 이렇게했는데 괜찮은지 모르겠네요 https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD 내가 정말로 한 것은 빌드 ()에있는 것을 패키지 ()에 전달하는 것이지만 내가 말했듯이 괜찮은지 모르겠습니다. 의견과 제안을 주시겠습니까?

    감사합니다 😀

  11.   Azazel

    정보를 제공해 주셔서 감사합니다. 나중에 참조 할 수 있도록 북마크하겠습니다.

  12.   클레 라펠

    누군가 나에게 그것이 무엇인지 설명 할 수 있습니까? 저는 새롭고 이것이 .deb 패키지를 설치하는 데 도움이되는지 모르겠지만 정확히 게임 인 manjaro에서 로컬입니다. 예, 작동합니까?

    내가보고 그들은 deb2targz 패키지를 설치하라고 말했지만 터미널에서 설치할 때 오류가 발생하고 그것이 가능한지 모르겠습니다.

    1.    게르메인

      나도 마찬가지입니다. Arch를 기반으로하는 Kademar에 설치해야합니다. .deb에서만 얻는 몇 가지 패키지
      누군가 나를 도울 수 있습니까?

      1.    발도

        의미하는 바가 deb2targz 설치에 실패한 경우 yaourt -S deb2targz 명령으로 설치를 마쳤습니다. 물론 ArchLinux에서.

  13.   무료 클라우드 스토리지

    매우 유익한 게시물. 공유해 주셔서 감사합니다.

  14.   앵그리 버드

    좋은 게시물입니다. 이 유용한 정보를 공유해 주셔서 감사합니다.

  15.   PC 용 앱

    이 유용한 게시물에 감사드립니다. 많은 도움이 될 것입니다.

  16.   야곱

    안녕하세요, 변환 스크립트와 사용 방법을 남길 수 있습니까? 부분적으로 약간 혼란스러워서 이미 변환하고 싶은 deb가 있고 AUR의 Google 크롬이 deb이기 때문에 가능하다는 것을 알고 있지만 "MAKEPKG SI"를 만드는 방법을 모르겠습니다. 또 다른 deb 🙁