Ce este AUR în Arch Linux și ar trebui să îl utilizați?

Publicat: 2023-06-23
Sigla Arch Linux pe site-ul ArchWiki.
Jordan Gloor / How-To Geek
Depozitul Arch Linux AUR conține software gestionat de comunitate care este sigur de utilizat dacă iei câteva măsuri de precauție simple. Chiar dacă nu înțelegeți scripturile shell, există indicatori pe care îi puteți folosi pentru a aprecia dacă un pachet este sigur sau nu.

AUR este una dintre bijuteriile din coroana Arch Linux, oferind mii de pachete software suplimentare. Dar este acest depozit condus de utilizator sigur de utilizat sau ar trebui să îl evitați?

Cuprins

Ce este AUR?
Pericolele utilizării AUR
Siguranța AUR: verificați detaliile pachetului și reputația
Verificați conținutul fișierului PKGBUILD și al altor fișiere
Puteți ajuta alți utilizatori AUR

Ce este AUR?

AUR (Arch User Repository) este un depozit de software condus de comunitate care oferă peste 85.000 de pachete software utilizatorilor Arch Linux. Spre deosebire de alte depozite Arch, cum ar fi depozitele de bază, extra și multilib, AUR nu găzduiește pachete gata de instalare. De fapt, nu găzduiește deloc fișiere binare sau software împachetat.

AUR găzduiește fișiere de compilare a pachetelor, numite PKGBUILDs. Acestea sunt scripturi shell care sunt rulate de instrumentul Arch makepkg . Când makepkg rulează, caută un fișier numit „PKGBUILD”. Dacă găsește unul, îl deschide și urmează instrucțiunile din interior pentru a crea o arhivă de pachete software pe computer. Dacă sunteți familiarizat cu compilarea pe linia de comandă, un fișier PKGBUILD și makepkg lucrează împreună într-un mod similar cu un MAKEFILE și utilitarul make .

Instrucțiunile PKGBUILD descarcă fișiere de cod sursă și alte fișiere care sunt necesare pentru a crea arhiva pachetului. Instrumentul pacman este apelat automat pentru a instala software-ul din arhiva pachetului.

Cu riscul de a introduce o oarecare confuzie, unele pachete AUR livrează binare pre-compilate. Dar acele binare nu sunt găzduite în AUR, ele sunt stocate în altă parte pe internet. Intrarea AUR pentru acele pachete deține doar un fișier PKGBUILD care descarcă binarul pre-compilat pe computer.

Arch Linux vs. Ubuntu: pe care ar trebui să utilizați?
RELAȚII Arch Linux vs Ubuntu: pe care ar trebui să utilizați?

AUR permite oricui să creeze un PKGBUILD pentru o bucată de software pe care ar dori să o facă disponibilă pentru alți utilizatori Arch. Acestea pot fi pachete cu sursă deschisă sau închisă sau chiar software comercial. Pachetele AUR care obțin suficiente voturi ale utilizatorilor pot fi promovate într-un depozit Arch obișnuit numit depozitul comunității.

Problema cu AUR devine evidentă atunci când îl reduceți la elementele de bază. Este o colecție de scripturi de la utilizatori aleatori de pe internet. Și ar dori să le rulați pe computer.

Pentru a reduce riscurile, scripturile încărcate sunt revizuite de voluntari calificați și respectați, cunoscuți ca utilizatori de încredere. Utilizatorii de încredere inspectează și testează PKGBUILDS și îndepărtează orice greșeli periculoase sau intenții rău intenționate.

LEGATE: Cum se actualizează Arch Linux

Pericolele utilizării AUR

Este o întâmplare foarte rară, dar uneori lucrurile se strecoară prin net, în ciuda diligenței utilizatorilor de încredere. În 2015, un script Valve Software Steam a șters directorul dvs. de acasă dacă ați mutat anterior directorul Steam într-o nouă locație.

Mai sinistru a fost incidentul din 2005, când un pachet AUR orfan a fost preluat de un nou întreținător care a adăugat în mod deliberat cod rău intenționat la fișierul PKGBUILD. Aceste exemple sunt vechi și neobișnuite, dar aceleași lucruri s-ar putea întâmpla din nou.

Desigur, dacă sunteți suficient de calificat, puteți revizui singur conținutul fișierului PKGBUILD. Această transparență este unul dintre punctele forte ale AUR, dar necesită cunoștințe suficiente de scripting pentru a beneficia de ea. Și asta acoperă doar fișierul PKGBUILD în sine. Dacă atrage o masă de cod sursă al aplicației, teoretic ar trebui verificat și acesta.

Alte pericole în utilizarea AUR sunt bazate pe distribuție. Nu toate distribuțiile bazate pe Arch sunt suficient de asemănătoare Arch pentru ca AUR să funcționeze impecabil. AUR presupune că se instalează pe Arch Linux autentic și, de altfel, o versiune complet actualizată și corectată. Manjaro, de exemplu, nu sprijină oficial AUR, deși este bazat pe Arch.

Dar, având în vedere că distribuția dvs. acceptă AUR, ce puteți face pentru a vă asigura că îl utilizați cât mai sigur posibil, indiferent dacă înțelegeți sau nu codul sursă și scripturile shell?

Siguranța AUR: verificați detaliile pachetului și reputația

Chiar și fără recenzii de cod, există pași pe care îi puteți lua pentru a vă ajuta să decideți dacă puteți avea încredere într-un pachet AUR.

Găsiți pachetul dvs. pe AUR

Există o pagină în AUR pentru fiecare pachet. Pagina web a pachetului descrie pachetul, ce dependențe are, ce pachete depind de el și alte informații utile. Începeți-vă investigația mergând la AUR și căutându-vă pachetul.

Bara de căutare de pe site-ul AUR

Care este reputația sa?

Pachetele pot fi votate de utilizatori și există și un scor de popularitate acordat fiecărui pachet. Cu cât sunt mai multe voturi și cu cât popularitatea este mai mare, cu atât mai bine. Înseamnă că pachetul este bine-cunoscut și utilizat pe scară largă. Cu alte cuvinte, este un pachet de renume.

Detaliile pachetului AUR pentru pachetele yay, cu voturile și cifrele de popularitate evidențiate

Reputația pachetului este un bun indiciu al credibilității acestuia. Cu cât îl folosesc mai mulți oameni și îl votează, cu atât te simți mai confortabil când îl folosești.

Verificați datele activității

În secțiunea „Detalii pachet” veți vedea voturile, scorul de popularitate și două date. Unul este momentul în care pachetele au fost introduse pentru prima dată în AUR și al doilea este când pachetul a fost actualizat ultima dată.

Detaliile pachetului AUR pentru pachetele yay, cu primele date trimise și ultima actualizare evidențiate

Data „Ultima actualizare” vă va spune dacă pachetul este întreținut activ. Pachetele care au fost latente de mult timp trebuie tratate cu prudență.

Este URL-ul din amonte o locație validă?

Verificați, de asemenea, „URL-ul din amonte” și verificați dacă ajunge la o pagină web validă sau la un depozit de cod pentru pachet sau proiect. Dacă nu, ceva nu este în regulă.

Detaliile pachetului AUR pentru pachetele yay, cu adresa URL din amonte evidențiată

Citiți comentariile utilizatorilor

Există comentarii ale utilizatorilor la subsolul fiecărei pagini AUR. Acestea se pot extinde pe mai multe pagini. Vedeți ce spun alți utilizatori despre pachet și ce fel de întrebări pun. Vedeți, de asemenea, ce soluții sunt oferite pentru problemele care sunt ridicate. Există comentarii recente? Acest pachet mai are o bază de utilizatori activă?

Înregistrează-te și participă

Dacă vă înregistrați pe AUR și vă creați un cont gratuit, veți putea lăsa comentarii și pune întrebări. De asemenea, utilizați alte resurse, cum ar fi forumuri și subreddit-uri pentru a întreba despre pachet.

Chiar dacă nu înțelegeți scripturile shell, mai sunt câteva lucruri pe care le puteți verifica.

Verificați conținutul fișierului PKGBUILD și al altor fișiere

O modalitate obișnuită de a accesa AUR este cu o linie de comandă „AUR helper”, cum ar fi yay , dar puteți utiliza și AUR într-un mod manual, practic.

Asistentii AUR buni vă oferă opțiunea de a inspecta fișierul PKGBUILD, oprind instalarea dacă nu doriți să continuați. În procesul manual, căutați pachetul pe AUR și descărcați fișierul PKGBUILD și îl inspectați înainte de a-l folosi. Dacă sunteți fericit să continuați după ce l-ați revizuit, rulați makepkg manual.

Este o idee bună să instalați cel puțin un pachet manual, astfel încât să cunoașteți mecanica a ceea ce face asistentul AUR în fundal. Vom folosi ajutorul yay AUR ca exemplu.

Pachetul a fost trimis pentru prima dată în 2016 și a fost actualizat ultima dată în mai 2023. La momentul scrierii, aceasta este o actualizare foarte recentă. De asemenea, notabil este cel care trimite inițial, întreținătorul actual și ultima persoană care a împachetat software-ul, sunt toate aceeași persoană. Acea continuitate este un semn bun.

Faceți clic pe linkul URL „Git Clone URL” din secțiunea „Detalii pachet” pentru a o copia în clipboard.

Într-o fereastră de terminal, tastați „git clone”, un spațiu, apoi apăsați Shift+Ctrl+V pentru a lipi adresa URL pe linia de comandă. Apăsați „Enter” pentru a începe descărcarea.

 git clone https://aur.archlinux.org/yay.git 

Clonarea fișierului yay PKGBUILD din depozitul său git

Când descărcarea este completă, treceți în noul director „yay”.

 cd da 

Schimbarea directoarelor în folderul yay.

Să vedem ce fișiere avem.

 ls 

Listarea fișierelor preluate cu ls

Există un singur fișier, fișierul PKGBUILD. Adesea există unul sau două fișiere auxiliare suplimentare. Uită-te și prin ele. Vom folosi less pentru a citi singurul nostru fișier.

 mai puțin PKGBUILD 

Pornirea vizualizatorului de fișiere mai puțin pentru a deschide fișierul yay PKGBUILD

Ce adrese URL folosește fișierul PKGBUILD?

Un fișier PKGBUILD bine format care urmează convențiile va crea variabile pentru a păstra adresele URL pe care le folosește. Acest lucru ne oferă o listă ordonată în partea de sus a fișierului cu adresele URL la care va face referire PKGBUILD. În acest caz, există doar unul.

Inspectarea fișierului yay PKGBUILD cu vizualizatorul de fișiere mai puțin

Putem vedea că indică către o pagină GitHub pentru proiectul yay .

Pagina GitHub este deținută de un utilizator cu același nume ca întreținătorul care a fost listat pe pagina AUR pentru acest pachet. Acestea sunt două indicii bune că acesta este un pachet sigur.

Dar vom continua și vom privi puțin mai adânc.

Căutați comenzi de descărcare

Utilizați funcția de căutare less pentru a căuta în fișier utilizări ale wget sau curl . Ambele instrumente pot fi folosite pentru a prelua fișiere de la distanță. Un PKGBUILD bine comportat nu ar trebui să aibă nevoie de o astfel de activitate.

Dacă găsiți orice apariție, tratați-le ca pe un steag roșu și nu instalați pachetul până nu sunteți sigur că este benign. Care este adresa URL la care fac referire comenzile wget sau curl ? Par legitime și legate de pachet?

Dacă puteți obține confirmarea de la o sursă de încredere că PKGBUILD este de încredere și că este scris doar într-un mod care nu respectă convențiile, puteți alege totuși să îl instalați.

Căutați rm, mv și alte comenzi periculoase

De asemenea, nu este nevoie ca un fișier PKGBUILD să conțină comenzile rm sau mv și nici nu ar trebui să facă referire la nimic din directorul „/dev”. Dacă PKGBUILD apelează direct pacman sau menționează systemctl , systemd sau orice altă componentă vitală a sistemului, cum ar fi grub , tratați fișierul PKGBUILD ca fiind periculos și nu-l executați.

Puteți efectua pașii pe care i-am folosit până acum, chiar dacă nu puteți citi scripturile shell. Dacă cunoașteți niște scripturi shell, puteți revizui codul real în PKGBUILD.

Fiți atenți la codul ofuscat

Oamenii care scriu cod rău intenționat adesea încearcă să-și ascundă intențiile obscurându-l. Folosesc sintaxă minimalistă, concisă, impenetrabilă, așa că este greu de descifrat ceea ce încearcă să facă. Dacă vedeți linii care utilizează redirecționarea sau apelează sed sau awk , tratați-le ca fiind suspecte.

Copierea acelor linii și plasarea lor într-un parser online, cum ar fi explicshell.com, le va despacheta, astfel încât să puteți vedea ce fac de fapt. Dacă vă confruntați cu o mizerie densă de paranteze, punct și virgulă și ampersand, merită să utilizați un parser online pentru a verifica dacă ați interpretat corect ceea ce încearcă să facă linia. Dar, în general, codul greu de citit este un semn de avertizare.

/casa ta ar trebui să fie castelul tău

Compilările PKGBUILD și build-urile au loc într-un mediu chroot .

Acestea sunt mini-sisteme de fișiere izolate care permit dezvoltatorilor procese sandbox, limitându-le accesul la restul sistemului de fișiere al computerului și reducându-le accesul la alte comenzi de sistem.

Dacă PKGBUILD manipulează direct directorul dvs. de acasă, tratați-l ca pe un semnal de avertizare. Asigurați-vă că înțelegeți pe deplin ce face înainte de a vă decide să îl rulați.

Puteți ajuta alți utilizatori AUR

Cu pachete extrem de populare, este foarte probabil să fii în siguranță. Din cauza numărului mare de utilizatori, problemele sunt identificate mai repede și raportate mai repede. Puteți face partea dvs. raportând orice probleme pe care le găsiți și votând pachete bune pentru a le îmbunătăți reputația.

Dacă descoperiți că există o problemă cu un pachet care vă face să nu doriți să-l instalați, vă puteți găsi în dificultate deoarece aveți nevoie de acel pachet. O cale de urmat este să ceri pe forumuri sugestii pentru alte pachete care pot satisface această nevoie specială.

Linux are de obicei multe moduri de a jupui orice pisică dată.

LEGATE: Cum se instalează Arch Linux dintr-o interfață grafică