Arch User Repository

The Arch User Repository (AUR) este un depozit condus de comunitate pentru utilizatorii Arch. Acesta conține descrieri de pachete (PKGBUILDs) care vă permit să compilați un pachet din sursă cu makepkg și apoi să îl instalați prin pacman. AUR a fost creat pentru a organiza și partaja noi pachete din partea comunității și pentru a ajuta la accelerarea includerii pachetelor populare în depozitul comunității. Acest document explică modul în care utilizatorii pot accesa și utiliza AUR.

Un număr bun de pachete noi care intră în depozitele oficiale încep în AUR. În AUR, utilizatorii au posibilitatea de a contribui cu propriile compilații de pachete (PKGBUILD și fișierele aferente). Comunitatea AUR are posibilitatea de a vota pentru pachetele din AUR. Dacă un pachet devine suficient de popular – cu condiția să aibă o licență compatibilă și o bună tehnică de împachetare – acesta poate fi introdus în depozitul comunității (accesibil direct prin pacman sau abs).

Avertisment: Pachetele AUR sunt conținut produs de utilizatori. Aceste PKGBUILDsunt complet neoficiale și nu au fost verificate temeinic. Orice utilizare a fișierelor furnizate se face pe propriul risc.

Începem

Utilizatorii pot căuta și descărca PKGBUILD-uri din interfața web AUR. Aceste PKGBUILDs pot fi construite în pachete instalabile folosind makepkg, apoi instalate folosind pacman.

  • Asigurați-vă că grupul de pachete base-devel este instalat în întregime (pacman -S --needed base-devel).
  • Peste #FAQ pentru răspunsuri la cele mai frecvente întrebări.
  • Poate doriți să ajustați /etc/makepkg.conf pentru a optimiza procesul de construire pentru sistemul dumneavoastră înainte de a construi pachete din AUR. O îmbunătățire semnificativă a timpilor de compilare a pachetelor poate fi realizată pe sistemele cu procesoare multi-core prin ajustarea variabilei MAKEFLAGS, prin utilizarea mai multor nuclee pentru compresie sau prin utilizarea unui algoritm de compresie diferit. Utilizatorii pot, de asemenea, să activeze optimizările specifice hardware ale compilatorului prin intermediul variabilei CFLAGS. Consultați makepkg#Tips and tricks pentru mai multe informații.

Este, de asemenea, posibil să interacționați cu AUR prin SSH: tastați ssh [email protected] help pentru o listă de comenzi disponibile.

Historie

La început, a existat ftp://ftp.archlinux.org/incoming, iar oamenii contribuiau prin simpla încărcare pe server a PKGBUILD, a fișierelor suplimentare necesare și a pachetului construit în sine. Pachetul și fișierele asociate au rămas acolo până când un Manager de pachete a văzut programul și l-a adoptat.

Apoi s-au născut Depozitele de încredere pentru utilizatori (Trusted User Repositories). Anumite persoane din comunitate au fost autorizate să-și găzduiască propriile depozite pentru ca oricine să le folosească. AUR s-a extins pe această bază, cu scopul de a-l face atât mai flexibil, cât și mai ușor de utilizat. De fapt, întreținătorii AUR sunt încă numiți TU (Trusted Users).

Între 2015-06-08 și 2015-08-08-08 AUR a făcut tranziția de la versiunea 3.5.1 la 4.0.0, introducând utilizarea depozitelor Git pentru publicarea PKGBUILD-urilor.Pachetele existente au fost abandonate dacă nu au fost migrate manual către noua infrastructură de către întreținătorii lor.

Repozitorii Git pentru pachetele AUR3

Arhiva AUR de pe GitHub are un depozit pentru fiecare pachet care se afla în AUR 3 la momentul migrării. alternativ, există depozitul aur3-mirror care oferă același lucru.

Instalarea și actualizarea pachetelor

Instalarea pachetelor din AUR este un proces relativ simplu. În esență:

  1. Achiziționați fișierele de compilare, inclusiv PKGBUILD și, eventual, alte fișiere necesare, cum ar fi unitățile systemd și patch-urile (adesea nu și codul propriu-zis).
  2. Verificați că PKGBUILD și fișierele care le însoțesc nu sunt malițioase sau nedemne de încredere.
  3. Executați makepkg -si în directorul în care sunt salvate fișierele. Aceasta va descărca codul, va rezolva dependențele cu pacman, îl va compila, îl va împacheta și va instala pachetul.
Notă: AUR nu este suportat, așa că orice pachet pe care îl instalați este responsabilitatea dvs. de a-l actualiza, nu a lui pacman. Dacă pachetele din depozitele oficiale sunt actualizate, va trebui să reconstruiți toate pachetele AUR care depind de acele biblioteci.

Precondiții prealabile

În primul rând asigurați-vă că sunt instalate instrumentele necesare prin instalarea completă a grupului base-devel, care include make și alte instrumente necesare pentru compilarea de la sursă.

Sfat: Folosiți stegulețul --needed atunci când instalați grupul base-devel pentru a sări peste pachetele pe care le aveți deja în loc să le reinstalați.
Notă: Pachetele din AUR presupun că grupul base-devel este instalat, adică nu listează în mod explicit membrii grupului ca dependențe de compilare.

În continuare, alegeți un director de compilare adecvat. Un director de construire este pur și simplu un director în care pachetul va fi realizat sau „construit” și poate fi orice director. Exemplele din secțiunile următoare vor folosi ~/builds ca director de construire.

Acquire build files

Localizați pachetul în AUR. Acest lucru se face utilizând câmpul de căutare din partea de sus a paginii de pornire a AUR. Dacă faceți clic pe numele aplicației din lista de căutare, se afișează o pagină de informații despre pachet. Citiți descrierea pentru a confirma că acesta este pachetul dorit, notați când a fost actualizat ultima dată pachetul și citiți orice comentarii.

Există mai multe metode de achiziționare a fișierelor de compilare pentru un pachet:

  • Clonați depozitul său git, etichetat „Git Clone URL” în „Package Details” de pe pagina sa AUR. Aceasta este metoda preferată, un avantaj al acesteia fiind că puteți obține cu ușurință actualizări ale pachetului prin git pull.
$ git clone https://aur.archlinux.org/package_name.git
  • Descărcați un instantaneu, fie făcând clic pe linkul „Download snapshot” (Descărcare instantaneu) de sub „Package Actions” (Acțiuni privind pachetul) din partea dreaptă a paginii sale AUR, fie într-un terminal:
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/package_name.tar.gz
Notă: Fișierul instantaneu este comprimat și trebuie extras (de preferință într-un director rezervat pentru construcțiile AUR):

Achiziționați o cheie publică PGP, dacă este necesar

Verificați dacă un fișier de semnătură sub forma .sig sau .asc face parte din matricea sursă PKGBUILD, dacă este cazul, atunci achiziționați una dintre cheile publice listate în matricea PKGBUILD validpgpkeys. Consultați makepkg#Signature checking pentru mai multe informații.

Constituie și instalează pachetul

Schimbă directoarele în directorul care conține PKGBUILD al pachetului.

$ cd package_name
Avertizare: Verificați cu atenție PKGBUILD, orice fișiere .install și orice alte fișiere din depozitul git al pachetului pentru comenzi malițioase sau periculoase. Dacă aveți îndoieli, nu construiți pachetul și cereți sfaturi pe forumuri sau pe lista de discuții. Codul malițios a mai fost găsit în pachete și înainte.

Veziți conținutul tuturor fișierelor furnizate. De exemplu, pentru a utiliza pager less pentru a vizualiza PKGBUILD faceți:

$ less PKGBUILD
Sfat: Dacă actualizați un pachet, poate doriți să vă uitați la modificările de la ultima confirmare.

  • Pentru a vizualiza modificările de la ultima confirmare git puteți utiliza git show.
  • Pentru a vizualiza modificările de la ultima confirmare utilizând vimdiff, faceți git difftool @~..@ vimdiff. Avantajul vimdiff este că puteți vizualiza întregul conținut al fiecărui fișier, împreună cu indicatori privind ceea ce s-a schimbat.

Faceți pachetul. După confirmarea manuală a conținutului fișierelor, rulați makepkg ca utilizator normal:

$ makepkg -si
  • -s/--syncdeps rezolvă și instalează automat orice dependențe cu pacman înainte de compilare. Dacă pachetul depinde de alte pachete AUR, va trebui să le instalați manual mai întâi.
  • -i/--install instalează pachetul dacă acesta este construit cu succes. Alternativ, pachetul construit poate fi instalat cu pacman -U package_name.pkg.tar.zst.

Alte stegulețe utile sunt

  • -r/--rmdeps elimină dependențele din timpul construirii după compilare, deoarece acestea nu mai sunt necesare. Cu toate acestea, este posibil ca aceste dependențe să trebuiască să fie reinstalate la următoarea actualizare a pachetului.
  • -c/--clean curăță fișierele temporare de construire după compilare, deoarece nu mai sunt necesare. Aceste fișiere sunt de obicei necesare doar atunci când se depanează procesul de construire.
Notă: Exemplul de mai sus este doar un scurt rezumat al procesului de construire. Este foarte recomandat să citiți articolele makepkg și ABS pentru mai multe detalii.

Actualizarea pachetelor

În directorul care conține PKGBUILD al pachetului trebuie mai întâi să actualizați fișierele și modificările folosind comanda

$ git pull

și apoi să executați

$ makepkg -si

pentru a actualiza pachetul.

Feedback

Comentarea pachetelor

Interfața web AUR dispune de o facilitate de comentarii care permite utilizatorilor să ofere sugestii și feedback cu privire la îmbunătățirile aduse colaboratorului PKGBUILD.

Sfat: Evitați să lipiți patch-uri sau PKGBUILDs în secțiunea de comentarii: acestea devin rapid învechite și sfârșesc doar prin a ocupa inutil mult spațiu. În schimb, trimiteți aceste fișiere prin e-mail către responsabilul cu întreținerea, sau chiar folosiți un pastebin.

Python-Markdown oferă o sintaxă Markdown de bază pentru a formata comentariile.

Notă:

  • Această implementare are unele diferențe ocazionale față de regulile oficiale de sintaxă.
  • Commiteți hașuri în depozitul Git al pachetului și referințele la biletele Flyspray sunt convertite automat în link-uri.
  • Comentariile lungi sunt colapsate și pot fi extinse la cerere.

Votul pentru pachete

Una dintre cele mai ușoare activități pentru toți utilizatorii Arch este să navigheze în AUR și să voteze pachetele preferate folosind interfața online. Toate pachetele sunt eligibile pentru a fi adoptate de către o UT pentru a fi incluse în depozitul comunității, iar numărul de voturi este unul dintre considerentele acestui proces; este în interesul tuturor să voteze!

Înregistrează-te pe site-ul AUR pentru a obține opțiunea „Votează pentru acest pachet” în timp ce navighezi prin pachete. După ce v-ați înscris, este de asemenea posibil să votați din linia de comandă cu aurvoteAUR, aurvote-gitAUR sau aur-auto-vote-gitAUR.

Alternativ, dacă ați configurat autentificarea ssh, puteți vota direct din linia de comandă folosind cheia dvs. ssh. Acest lucru înseamnă că nu va trebui să vă salvați sau să introduceți parola AUR.

$ ssh [email protected] vote package_name

Semnalizarea pachetelor depășite

În primul rând, ar trebui să semnalizați pachetul depășit indicând detalii despre motivul pentru care pachetul este depășit, de preferință incluzând link-uri către anunțul de lansare sau către tarball-ul noii versiuni.

De asemenea, ar trebui să încercați să contactați direct mentorul prin e-mail. Dacă nu există niciun răspuns din partea responsabilului după două săptămâni, puteți depune o cerere orfană. Consultați AUR submission guidelines#Requests pentru detalii.

Notă: Pachetele VCS nu sunt considerate neactualizate atunci când se schimbă pkgver și nu trebuie marcate în acest caz.

Depanarea procesului de construire a pachetelor

  1. Asigurați-vă că mediul de construire este actualizat prin actualizare înainte de a construi ceva.
  2. Asigurați-vă că aveți instalat grupul base-devel.
  3. Utilizați opțiunea -s cu makepkg pentru a verifica și instala toate dependențele necesare înainte de a începe procesul de compilare.
  4. Încercați configurația makepkg implicită.
  5. Vezi Makepkg#Troubleshooting pentru probleme comune.

Dacă aveți probleme la construirea unui pachet, citiți mai întâi PKGBUILD-ul său și comentariile de pe pagina sa AUR.

Este posibil ca un PKGBUILD să fie stricat pentru toată lumea. Dacă nu reușiți să vă dați seama de unul singur, raportați acest lucru administratorului (de exemplu, prin postarea erorilor pe care le obțineți în comentariile de pe pagina AUR). De asemenea, puteți căuta ajutor în forumul AUR Issues, Discussion & PKGBUILD Requests.

Este posibil ca motivul să nu fie banal până la urmă. Personalizate CFLAGS, LDFLAGS și MAKEFLAGS pot cauza eșecuri. Pentru a evita problemele cauzate de configurația particulară a sistemului dumneavoastră, construiți pachetele într-un chroot curat. Dacă procesul de compilare eșuează în continuare într-un chroot curat, probabil că problema este legată de PKGBUILD.

Vezi Crearea pachetelor#Verificarea corectitudinii pachetelor despre utilizarea namcap. Dacă doriți ca un PKGBUILD să fie revizuit, postați-l pe lista de discuții aur-general pentru a obține feedback din partea TU-urilor și a colegilor din AUR, sau pe forumul Crearea de pachete & Modificarea pachetelor. De asemenea, puteți căuta ajutor pe canalul IRC #archlinux-aur pe Freenode.

Submiterea de pachete

Utilizatorii pot partaja PKGBUILD-uri folosind Arch User Repository. Pentru detalii, consultați ghidurile de trimitere AUR.

Traducerea interfeței web

Vezi i18n.txt în arborele sursă AUR pentru informații despre crearea și menținerea traducerii interfeței web AUR.

FAQ

Ce fel de pachete sunt permise pe AUR?

Pachetele de pe AUR sunt pur și simplu „scripturi de construire”, adică rețete pentru a construi binare pentru pacman. Pentru majoritatea cazurilor, totul este permis, sub rezerva orientărilor privind utilitatea și domeniul de aplicare, atâta timp cât respectați termenii de licențiere a conținutului. Pentru alte cazuri, în care se menționează că „nu aveți voie să creați linkuri” către descărcări, adică conținuturi care nu pot fi redistribuite, puteți utiliza doar numele fișierului în sine ca sursă. Acest lucru înseamnă și necesită ca utilizatorii să aibă deja sursa restricționată în directorul de compilare înainte de a construi pachetul. Când aveți dubii, întrebați.

Cum pot vota pentru pachete în AUR?

Vezi #Votul pentru pachete.

Ce este un utilizator de încredere / TU?

Un utilizator de încredere, pe scurt TU, este o persoană care este aleasă să supravegheze AUR și depozitul comunității. Ei sunt cei care mențin PKGBUILD-urile populare în comunitate și, în general, mențin AUR-ul în funcțiune.

Care este diferența dintre Arch User Repository și depozitul comunității?

Repozitoriul Arch User Repository este locul unde sunt stocate toate PKGBUILD-urile pe care utilizatorii le trimit și trebuie construite manual cu makepkg. Atunci când PKGBUILDs primesc suficient interes din partea comunității și sprijinul unei TU, acestea sunt mutate în depozitul comunității (întreținut de TU), unde pachetele binare pot fi instalate cu pacman.

Foo din AUR este depășit; ce ar trebui să fac?

Vezi #Flagging packages out-of-date.

Între timp, puteți încerca să actualizați singur pachetul prin editarea locală a PKGBUILD. Uneori, actualizările nu necesită modificări ale procesului de construire sau de creare a pachetelor, caz în care este suficientă simpla actualizare a matricei pkgver sau source.

Foo din AUR nu se compilează atunci când execut makepkg; ce ar trebui să fac?

Probabil că vă lipsește ceva trivial, vedeți #Debugging the package build process.

ERROR: Una sau mai multe semnături PGP nu au putut fi verificate!!!; ce ar trebui să fac?

Cel mai probabil nu aveți cheia (cheile) publică (publice) necesară (necesare) în brelocul personal pentru a verifica fișierele descărcate. Consultați Makepkg#Signature checking pentru detalii.

Cum creez un PKGBUILD?

Consultați AUR submission guidelines#Rules of submission, apoi vedeți crearea de pachete.

Am un PKGBUILD pe care aș dori să-l trimit; poate cineva să-l verifice pentru a vedea dacă există erori?

Există mai multe canale disponibile pentru a vă trimite pachetul pentru a fi revizuit; consultați #Debugging the package build process.

Cum să introducem un PKGBUILD în depozitul comunității?

De obicei, sunt necesare cel puțin 10 voturi pentru ca ceva să se mute în comunitate. Cu toate acestea, dacă o UT dorește să susțină un pachet, acesta se va găsi adesea în depozit.

Atingerea minimului necesar de voturi nu este singura cerință, trebuie să existe o UT dispusă să mențină pachetul. TU-urile nu sunt obligate să mute un pachet în depozitul comunității chiar dacă are mii de voturi.

De obicei, când un pachet foarte popular rămâne în AUR este pentru că:

  • Arch Linux are deja o altă versiune a unui pachet în depozite
  • Licența sa interzice redistribuirea
  • Ajută la recuperarea PKGBUILD-urilor trimise de utilizatori. Ajutoarele AUR nu sunt acceptate prin definiție.

Vezi și Reguli pentru pachetele care intră în Repo-ul comunității.

Cum pot accelera procesele de construire repetate?

Vezi Makepkg#Îmbunătățirea timpilor de compilare.

Care este diferența dintre pachetele foo și foo-git?

Multe pachete AUR vin în versiuni de lansare „stabile” și versiuni de dezvoltare „instabile”. Pachetele de dezvoltare au de obicei un sufix care denotă sistemul lor de control al versiunilor și nu sunt destinate utilizării obișnuite, dar pot oferi caracteristici noi sau corecturi de erori. Deoarece aceste pachete descarcă doar cea mai recentă sursă disponibilă atunci când executați makepkg, pkgver() a acestora în AUR nu reflectă modificările din amonte. De asemenea, aceste pachete nu pot efectua o sumă de verificare a autenticității pe nicio sursă VCS.

Vezi și Întreținerea sistemului#Utilizarea pachetelor software dovedite.

De ce a dispărut foo din AUR?

Este posibil ca pachetul să fi fost adoptat de o UT și să se afle acum în depozitul comunității.

Pachetele pot fi șterse dacă nu au respectat regulile de prezentare. Consultați arhivele aur-requests pentru motivul ștergerii.

Notă: Depozitul git pentru un pachet șters rămâne de obicei disponibil. Consultați AUR submission guidelines#Requests pentru detalii.

Dacă pachetul exista în AUR3, este posibil să nu fi fost migrat în AUR4. Consultați depozitele #Git pentru pachetele AUR3 unde acestea sunt păstrate.

Cum aflu dacă vreunul dintre pachetele mele instalate a dispărut din AUR?

Cel mai simplu mod este să verificați starea HTTP a paginii AUR a pachetului:

$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)

Cum pot obține o listă a tuturor pachetelor AUR?

  • Utilizați aurpkglist din python3-aurAUR

Vezi și

  • Interfața web AUR
  • Lista de corespondență AUR
  • DeveloperWiki:AUR Cleanup Day

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.