[Cum] Generează pachete software și derivate Arch Linux

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


14 comentarii, lasă-le pe ale tale

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   jamin samuel el a spus

    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 ??

    1.    adecvat el a spus

      Din câte știu că nu este posibil, nu uitați că .exe sunt binare și nu cod sursă. Dar există JDownloader.

    2.    v3on el a spus

      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 ...

  2.   lapte28 el a spus

    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

  3.   MSX el a spus

    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.

  4.   Putreze87 el a spus

    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

    1.    MSX el a spus

      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 🙂

  5.   hypersayan_x el a spus

    spre deosebire de binecunoscutul .deb din Debian / Ubuntu / Linux Mint / etc care este o mizerie

    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.

  6.   hackloper775 el a spus

    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

  7.   Carlos el a spus

    Cred că acest lucru mi-ar fi servit acum ceva timp când am încărcat primul meu PKGBUILD pe AUR 🙂

  8.   clerafel el a spus

    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?