apt vs. apt-get: Care este diferența pe Linux?
Publicat: 2022-06-16 De ce distribuțiile Linux bazate pe Debian au atât apt
, cât și apt-get
? Apt a înlocuit apt
apt-get
sau au scopuri diferite? Vă explicăm relația dintre aceste două comenzi.
Sistemul de management al pachetelor Debian
Un efort major în crearea unei distribuții Linux este proiectarea și crearea unui sistem de gestionare a pachetelor. Utilizatorii dvs. trebuie să aibă o modalitate de a instala și dezinstala pachete software. Acest lucru necesită software pentru a prelua fișierele pachetului din depozitul dvs. de software și pentru a le instala corect pe computerele utilizatorilor.
Aceasta nu este o întreprindere mică. Chiar și punând deoparte ingineria software, găzduirea depozitelor de software necesită timp, efort și cheltuieli. Acesta este unul dintre motivele pentru care atât de multe distribuții Linux „noi” sunt derivate ale unei distribuții Linux existente.
Acest lucru duce la familii sau genealogii ale distribuțiilor Linux, cum ar fi distribuțiile bazate pe Debian, distribuțiile bazate pe Red Hat, distribuțiile bazate pe Arch și așa mai departe.
Familia Debian de distribuții, inclusiv Ubuntu și toate distribuțiile derivate din Ubuntu, utilizează Managerul de pachete Debian. Aceasta utilizează fișiere pachet cu extensia de fișier „.deb”, denumite fișiere DEB. Fișierele DEB sunt fișiere comprimate care conțin alte fișiere de arhivă. Fișierele de arhivă conțin fișierele executabile ale aplicației, paginile de manual, bibliotecile și așa mai departe.
Instalarea software-ului dintr-un fișier DEB înseamnă despachetarea tuturor acestor fișiere componente și plasarea lor în locațiile corecte de pe computer. De asemenea, necesită interacțiunea cu sistemul de operare și mediul desktop, astfel încât aplicația să apară în căutările de aplicații și pictograma acesteia să poată fi adăugată în docuri sau meniuri de sistem.
Ambele comenzi apt-get
și apt
fac asta. Dar de ce avem două comenzi pentru același lucru?
Lanțul de comandă
Pachetul care realizează cu adevărat instalarea se numește dpkg
. Este de fapt o familie de comenzi, inclusiv dpkg-split
, dpkg-trigger
și dpkg-divert
. Acestea sunt apelate, dacă și după cum este necesar, de instrumentele din suita Advanced Package Tool sau APT. APT este o altă colecție de instrumente, inclusiv apt-get
, apt-cache
și apt
.
Comanda dpkg
este considerată o comandă de nivel scăzut. Dincolo de cea mai simplă dintre interacțiuni, devine foarte complicat cu o mulțime de opțiuni. Comanda apt-get
acționează ca un front-end pentru suita de comenzi dpkg
. Acest lucru simplifică considerabil lucrurile. apt-get
este conceput ca o comandă orientată către utilizator și nu o comandă de fundal de nivel scăzut. Chiar și așa, în ciuda rolului său față de om, o altă comandă numită apt-cache
a fost folosită pentru a afișa informații utilizatorului.
Comanda apt
oferă o altă modalitate de a „vorbi” cu dpkg
printr-un instrument de linie de comandă mai accesibil și mai ușor de utilizat. Oferă un subset al caracteristicilor lui apt-get
, dar este un subset mare și oferă toate caracteristicile utilizate în mod obișnuit și include și funcționalități din apt-cache
.
Linux Mint are nevoie de o mențiune specială aici. Menținătorii Linux Mint și-au dezvoltat propria versiune de apt
, care este un wrapper Python pentru apt-get
. Nu despre apt
vorbim aici. Ne referim la standardul Debian apt
, care a fost lansat în 2014 și a câștigat atenție și tracțiune în versul utilizatorului când a fost inclus în Ubuntu 16.04 în 2016.
Diferențele dintre apt și apt-get
Deci, dpkg
este aplicația de fundal de nivel scăzut. Comanda apt-get
este o interfață cu funcții complete, dar simplificată pentru dpkg
, iar apt
este o versiune mai ușor de utilizat, dar ușor redusă a apt-get
.
Dar apt-get
și apt
oferă mai mult decât o interfață ușoară pentru dpkg
. Ei fac lucruri pe care dpkg
nu le face. Ei vor prelua fișiere din depozite și vor încerca să asiste cu dependențele și conflictele lipsă.
La rândul său, comanda apt
face unele lucruri pe care apt-get
nu le face. Oferă mai multe informații de tipul pe care utilizatorul obișnuit dorește să le vadă în timpul unei instalări și suprimă unele dintre informațiile mai obscure pe care le afișează apt-get
. apt
oferă feedback vizual superior și folosește evidențieri de culoare și bare de progres în fereastra terminalului.
Există câteva comenzi comune între apt
și apt-get
. Toate aceste comenzi pot fi precedate de apt
sau apt-get
și se vor comporta la fel:
- install packagename : Instalează un pachet.
- remove packagename : Eliminați (dezinstalați) un pachet.
- purge packagename : Eliminați un pachet și fișierele de configurare ale acestuia.
- update packagename : actualizați informațiile din depozit.
- upgrade : actualizați toate pachetele.
- autoremove : Eliminați bibliotecile și alte pachete care nu mai sunt necesare.
Opțiunea apt full-upgrade
înlocuiește opțiunea apt-get dist-upgrade
.
Acestea sunt comenzi noi pentru apt
:
- apt search : Căutați un nume de pachet în depozite. Aceasta este aceeași
apt-cache search
- apt show : Afișează informații despre un pachet. Acesta este același cu
apt-cache show
. - opțiunea apt list : Afișează liste de pachete instalate sau care pot fi actualizate.
- apt edit-sources : editează direct lista de depozite în care
apt
caută pachete.
Instalarea unei aplicații
Puteți folosi apt search
pentru a vedea dacă un pachet există în depozite sau pentru a verifica dacă aveți numele potrivit pentru pachet. Să presupunem că doriți să instalați Scribus, dar nu știți numele pachetului. S-ar putea să încercați să căutați scribus-desktop
.
apt search scribus-desktop
Căutarea aceea nu a găsit nimic. Vom încerca din nou cu un indiciu de căutare mai scurt, mai generic.
apt search scribus
Acest lucru returnează mai multe accesări și putem vedea că există unul numit „scribus” și că cu siguranță pare că este pachetul de bază pentru aplicația de publicare desktop Scribus. Comanda apt show
ne va oferi mai multe detalii.
apt show scribus
Primim un dump de informații despre pachet, inclusiv ce va fi instalat și o descriere a software-ului.
De asemenea, sugerează și alte pachete care ar putea fi necesare, în funcție de nevoile noastre.
Pentru a instala pachetul trebuie să folosim sudo
.
sudo apt install scribus
Fișierele sunt preluate din depozite. Fișierul aflat în curs de preluare este evidențiat cu maro.
Când fișierele au fost preluate, acestea sunt instalate. Progresul prin instalare este afișat ca procentaj afișat în cifre și ca o bară de progres.
Alte Comenzi
Comenzile apt list
și apt edit-sources
sunt opțiuni din apt
care nu există în apt-get
.
Comanda apt list
poate fi utilizată cu opțiunile --installed
sau --upgradeable
pentru a vedea pachetele de pe computer care sunt instalate și care ar putea fi actualizate.
Pentru a vedea lista de aplicații instalate pe computer, utilizați:
apt list --instalat
Derulând prin rezultat, putem vedea două intrări pentru aplicația Scribus nou instalată.
Pentru a vedea dacă vreuna dintre aplicațiile instalate poate fi actualizată, utilizați opțiunea --upgradeable
.
apt list --upgradeable
Comanda apt
vă oferă, de asemenea, o modalitate de a edita informațiile stocate despre căutările apt
în depozite pentru pachete. Fă asta doar dacă știi ce faci.
sudo apt edit-sources
Această comandă deschide editorul implicit și încarcă fișierul care conține informațiile din depozit.
Ar trebui să folosesc apt sau apt-get?
Comanda apt-get
nu este actualizată des și acesta este un lucru bun. Trebuie să mențină compatibilitatea cu versiunea anterioară. Compatibilitatea anterioară nu este o preocupare atât de mare pentru apt
. Este considerată și tratată ca o comandă orientată către utilizator.
Pentru utilizarea de zi cu zi, utilizați apt
.
Dacă scrieți ceva de-a face cu instalarea pachetului, utilizați apt-get
. Acest lucru vă oferă cea mai mare șansă de portabilitate și compatibilitate în scripturile dvs.
LEGATE: Ghidul pentru începători pentru scriptarea Shell: elementele de bază