Unul dintre lucrurile care îmi plac cel mai mult la Arch Linux și derivatele sale este ușurință extraordinară pentru a crea pachete pentru a fi instalate ulterior pe sistem, spre deosebire de cele cunoscute .deb din Debian / Ubuntu / Linux Mint / etc că este un haos (și dacă sunt biblioteci nici nu vă spun)
Un șablon de bază ar fi acesta:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Acum voi explica fiecare parametru:
- # Întreținător: În acesta este pus numele întreținătorului pachetului
- Nume pachet: Numele pachetului. Poate conține doar litere, cifre, -, _ și +
- pkver: versiunea pachetului. pe 1.0.0
- pkgrel: revizuirea programului sau a pachetului. pe 1
- pkgdesc: descrierea pachetului.
- arc: arhitectura programului: poate fi oricare (pentru toată lumea), i686 și x86_64, fiind oricare pentru pachetele care nu necesită compilare, cum ar fi programele bash sau python. Dacă este un program care are nevoie de el (de exemplu, programe în C sau C ++), ar trebui să indicați i686 dacă este pentru 32 de biți sau x86_64 pentru 64 de biți. În general, dacă este compatibil cu ambele, este setat (i686, x86_64)
- Adresa URL: adresa URL a paginii oficiale a programului. Este indicat să o puneți.
- licență: licența programului. de exemplu GPL3
- grupe: grupurile cărora le aparține pachetul. grupuri = („sistem”)
- depinde: în acesta indicăm pachetele necesare pentru executarea programului. pependens = ('python2' 'pygtk')
- depinde: dependențele care sunt necesare numai pentru a compila pachetul. Dacă codul trebuie descărcat de la un manager de versiuni, este recomandabil să îl puneți. pe: makedepends = ('git')
- Sursa: în acesta indicăm fișierele necesare pentru crearea pachetului. Ca regulă generală, URL-ul pachetului conține codul, un patch, un fișier .desktopt, pictograme etc. pe: source = (pacsyu.desktop)
- sumele md5: aici sunt sumele md5 ale fișierelor indicate în sursă. Pentru a ști care dintre acestea rulăm de la un terminal din folderul în care se află PKGBUILD (după ce am scris căile de fișiere în sursă) makepkg -g iar sumele vor apărea pe ecran.
De asemenea, este posibil să utilizați alte sume precum sh1. - construi: în această funcție vom pune comenzile necesare pentru a continua pentru a compila software-ul. Dacă nu este necesară compilarea este necesară doar următoarea funcție)
- pachet: în această altă funcție, comenzile de instalare a programului vor merge. De exemplu, dacă compilăm codul C aici, make install ar merge.
Și pentru a termina trebuie doar să executăm makepkg pentru a verifica dacă pachetul este generat.
După cum puteți vedea, este dificil pentru noi. Apoi vă las cu câțiva parametri suplimentari ai makepkg:
- -Yo: Instruiește makepkg să instaleze pachetul după ce este creat.
- -s: Instalați dependențele pachetului dacă sunt în depozite.
- -F: Dacă există deja un pachet cu acel nume, versiune și revizuire cu acest parametru, vă spunem să îl suprascrieți.
- -c: Curățați folderele de lucru (pkg și sursă) după ce ați terminat.
- -A: Reambalează pachetul fără a fi nevoie să recompilezi.
Vă recomandăm să vedeți mai multe fișiere PKGBUILD pentru a vedea mai multe exemple, executați comanda makepkg -h pentru a vedea restul parametrilor programului, pe lângă vizualizarea makepkg documentație oficială pe Arch Linux Wiki ce poți găsi aici
Foarte bine …
Puteți face un pachet .exe să gestioneze (să compileze) un pachet Arch?
Ca de exemplu celebrul manager de descărcări Mipony ??
Din câte știu că nu este posibil, nu uitați că .exe sunt binare și nu cod sursă. Dar există JDownloader.
După cum spuneți, nu puteți recompila un exe, deoarece acesta este cod binar.
Puteți crea un pachet care îl instalează și îl execută cu Wine, la fel ca și pachetul din AUR al binecunoscutului program P2P Ares.
cineva folosește Linux și îi lipsește Myponi ... jijijijiji
jDownloader este în java și este bine cunoscut de toți că java provoacă cancer pulmonar ...
interesant, ar trebui să testăm pachetele. Cred că voi fi înclinat să fac cel de la qbittorrent hahaha există deja în yaourt, dar dacă ai propria versiune nu va fi rău de testat, mulțumesc pentru informații, salutări
Intrare bună, +1
Vreau să adaug că sunt, de asemenea, mai ușor de creat și de întreținut decât Gentoo ebuilds!
În ceea ce privește Debian, cred că această distribuție și-ar crește handicapul enorm doar prin modernizarea sau migrarea către un pachet mai modern și un sistem de gestionare a pachetelor, nu știu când va fi ultima actualizare a setului dpkg / apt, dar conceptul ar trebui deja au cu ușurință 15 ani și adevărul este că astăzi este anacronic.
Vă mulțumesc foarte mult, chiar recent, îl căutam în wiki și nu înțelegusem structura (am vrut să actualizez cea PlayonLinux) dar am renunțat totuși ... sunt lucruri în care aș vrea să am un asistent sau ceva de genul asta (nu mă împușca) dar totuși ... în absența instrumentelor de-a lungul timpului, voi vedea dacă creez vreunul
Datorită ghidului dvs., am început să creez PKGBUILD-ul lui Zeya (http://web.psung.name/zeya/), de îndată ce îl termin, îl încarc pe AUR 🙂
Total de acord, cu ceva timp în urmă am încercat să creez un pachet pentru Ubuntu și mi-a fost imposibil să găsesc informații de înțeles despre cum să fac unul, până la urmă am renunțat și am instalat programul aproximativ.
Același program pentru Arch mi-a luat mai puțin de 5 minute pentru a pune pachetul împreună.
Și nu sunt sigur, dar cred că RPM este puțin mai ușor de făcut decât DEB, dar mai greu decât Arch.
Foarte bine și ușor, iar în ceea ce privește .deb nu este atât de dificil, bine că pentru iOS
În ceea ce priveşte
Cred că acest lucru mi-ar fi servit acum ceva timp când am încărcat primul meu PKGBUILD pe AUR 🙂
Poate cineva să-mi explice ce este, sunt nou și nu știu dacă acest lucru mă ajută să instalez un pachet .deb, dar local în manjaro, un joc mai exact. Da, functioneaza?
Tocmai am scris un alt articol despre cum să creați pachete pentru arch / manjaro din pachetele .deb
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Da, îl văzusem deja, dar sunt foarte novel și nu înțeleg dacă nu numai că este această linie
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
ce ai în spate
dacă [«$ {CARCH}» = 'x86_64 ′]; atunci
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
Depinde = ('openal' 'lib32-openal')
elif ["$ {CARCH}" = 'i686 ′]; atunci
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
depinde = ('deschidere')
fi
source = ("http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
Nu o înțeleg, arată foarte complex, sunt pași comuni sau prima parte
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
se poate face singur pentru a converti .deb. .tar.gz?