내가 아치 리눅스와 그 파생물에 대해 가장 좋아하는 것 중 하나는 엄청난 용이함 알려진 것과 달리 나중에 시스템에 설치할 패키지를 만들려면 뎁 데비안 / 우분투 / 리눅스 민트 등의 혼란이 있습니다 (그리고 라이브러리라면 말하지 않습니다).
기본 템플릿은 다음과 같습니다.
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
이제 각 매개 변수를 설명하겠습니다.
- # 관리자 : 그 안에 패키지 관리자의 이름이 들어 있습니다.
- pkgname : 패키지의 이름입니다. 문자, 숫자,-, _ 및 + 만 포함 할 수 있습니다.
- pkver : 패키지 버전. pe 1.0.0
- pkgrel : 프로그램 또는 패키지 검토. pe 1
- pkgdesc : 패키지 설명.
- 아치: 프로그램의 아키텍처 : 임의 (모든 사람), i686 및 x86_64 일 수 있으며 bash 또는 python 프로그램과 같이 컴파일이 필요하지 않은 패키지를위한 것입니다. 필요한 프로그램 인 경우 (예 : C 또는 C ++의 프로그램) 686 비트 용인 경우 i32, 86 비트 용인 경우 x64_64를 표시해야합니다. 일반적으로 둘 다 호환되는 경우 설정됩니다 (i686, x86_64).
- URL : 프로그램의 공식 페이지에 대한 URL. 그것을 넣는 것이 좋습니다.
- 라이센스 : 프로그램 라이센스. 예 : GPL3
- 여러 떼: 패키지가 속한 그룹. 그룹 = ( '시스템')
- 의존합니다 : 여기에는 프로그램 실행에 필요한 패키지가 표시됩니다. pependens = ( 'python2' 'pygtk')
- makedepends : 패키지를 컴파일하는 데만 필요한 종속성. 버전 관리자에서 코드를 다운로드하려면 코드를 입력하는 것이 좋습니다. pe : makedepends = ( 'git')
- 출처 : 여기에는 패키지 생성에 필요한 파일이 표시됩니다. 일반적으로 코드, 패치, .desktopt 파일, 아이콘 등이 포함 된 패키지의 URL입니다. pe : 소스 = (pacsyu.desktop)
- md5sums : 다음은 소스에 표시된 파일의 md5 합계입니다. PKGBUILD가있는 폴더의 터미널에서 실행되는 파일을 확인하려면 (소스에 파일 경로를 작성했습니다) makepkg -g 합계가 화면에 나타납니다.
sh1과 같은 다른 합계를 사용할 수도 있습니다. - 짓다: 이 함수에서 우리는 소프트웨어 컴파일을 진행하는 데 필요한 명령. 컴파일이 필요하지 않은 경우 다음 함수 만 필요)
- 패키지 :이 다른 기능에서 프로그램 설치 명령이 실행됩니다. 예를 들어 여기서 C 코드를 컴파일하는 경우 make install이 진행됩니다.
그리고 끝내기 위해 우리는 메이크팩 패키지가 생성되었는지 확인합니다.
보시다시피 우리에게는 어렵습니다. 그런 다음 몇 가지 추가 매개 변수를 남겨 둡니다. makepkg :
- -나는: makepkg가 패키지를 만든 후 설치하도록 지시합니다.
- -에스: 리포지토리에있는 경우 패키지 종속성을 설치합니다.
- -에프: 이 매개 변수가있는 해당 이름, 버전 및 개정을 가진 패키지가 이미있는 경우이를 덮어 쓰도록 지시합니다.
- -씨: 완료되면 작업 폴더 (pkg 및 소스)를 정리합니다.
- -아르 자형: 다시 컴파일 할 필요없이 패키지를 다시 패키징합니다.
더 많은 예제를 보려면 더 많은 PKGBUILD 파일을보고 명령을 실행하는 것이 좋습니다. makepkg -h 나머지 프로그램 매개 변수를 확인하고 Arch Linux Wiki의 makepkg 공식 문서 당신은 무엇을 찾을 수 있습니까 여기에
아주 좋아요…
.exe 패키지를 Arch 패키지로 관리 (컴파일) 할 수 있습니까?
예를 들어 유명한 다운로드 관리자처럼 미 포니 ??
내가 아는 한 .exe는 소스 코드가 아니라 바이너리라는 것을 기억하십시오. 그러나 JDownloader가 있습니다.
말했듯이 바이너리 코드이기 때문에 exe를 다시 컴파일 할 수 없습니다.
잘 알려진 P2P 프로그램 Ares의 AUR에있는 패키지처럼이를 설치하고 Wine으로 실행하는 패키지를 만들 수 있습니다.
누군가는 리눅스를 사용하고 Myponi를 그리워합니다…
jDownloader는 Java에 있으며 Java가 폐암을 유발한다는 사실은 모두에게 잘 알려져 있습니다.
흥미롭게도, 우리는 패키지를 테스트해야 할 것 같습니다. 저는 qbittorrent의 hahaha가 이미 yaourt에 존재하지만 자신의 버전을 테스트하는 것이 나쁘지 않을 것이라고 생각합니다. 정보 인사 감사합니다.
좋은 입력, +1
Gentoo ebuild보다 만들고 유지하기가 더 쉽다고 덧붙이고 싶습니다!
데비안과 관련하여이 배포판은 현대화하거나 더 현대적인 패키지 및 패키지 관리 시스템으로 마이그레이션하는 것만으로도 핸디캡을 크게 높일 것이라고 생각합니다. dpkg / apt 세트의 마지막 업데이트가 언제 일지는 모르겠지만 개념은 이미 쉽게 가질 수 있습니다. 15 년이 지난 지금은 시대 착오적입니다.
대단히 감사합니다. 위키에서 그것을 찾는 동안 조금했지만 구조를 이해하지 못했지만 (PlayonLinux를 업데이트하고 싶었습니다), 여전히 포기했습니다 ... 어시스턴트 나 그와 비슷한 것을 갖고 싶은 것 (저를 쏘지 마세요)이 있지만 여전히 ... 시간이 지남에 따라 도구가없는 경우에는
귀하의 가이드 덕분에 Zeya의 PKGBUILD (http://web.psung.name/zeya/), 완료하자마자 AUR에 업로드합니다 🙂
전적으로 동의합니다. 얼마 전에 우분투 용 패키지를 만들려고했지만 만드는 방법에 대한 이해할 수있는 정보를 찾을 수 없었습니다. 결국 프로그램을 포기하고 대략적으로 설치했습니다.
Arch의 동일한 프로그램으로 패키지를 구성하는 데 5 분도 걸리지 않았습니다.
그리고 확실하지는 않지만 RPM이 DEB보다 약간 더 쉽지만 Arch보다 어렵다고 생각합니다.
매우 좋고 쉬우 며 .deb에 관해서는 iOS의 경우 그렇게 어렵지 않습니다.
안부
AUR에 첫 번째 PKGBUILD를 업로드했을 때 얼마 전에 이것이 저에게 도움이되었을 것이라고 생각합니다.
누군가 나에게 그것이 무엇인지 설명 할 수 있습니까? 저는 새롭고 이것이 .deb 패키지를 설치하는 데 도움이되는지 모르겠지만 정확히 게임 인 manjaro에서 로컬입니다. 예, 작동합니까?
deb 패키지에서 arch / manjaro 용 패키지를 만드는 방법에 대한 또 다른 기사를 작성했습니다.
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
네, 벌써 봤는데 아주 참신해서이 대사 만 아닌지 모르겠어요
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
뒤에있는 것
if [«$ {CARCH}»= 'x86_64 ′]; 그때
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
의존 = ( 'openal' 'lib32-openal')
elif [ "$ {CARCH}"= 'i686']; 그때
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
의존 = ( 'openal')
fi
출처 = ( "http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
이해가 안 돼요, 아주 복잡해 보이죠, 공동 단계이거나 첫 번째 부분입니다
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
.deb로 변환하는 것은 단독으로 할 수 있습니다. .tar.gz?