Care este diferența reală între “ apt-get ” și “ aptitude ”? (Ce zici de “ wajig ”?)

Știu că atât apt-get cât și aptitude sunt interfețe de gestionare a pachetelor de linie de comandă pe Linux derivat din Debian, cu opțiuni diferite, dar eu sunt încă oarecum confuz. Sub capotă, nu folosesc același sistem APT?

De ce Debian menține aceste instrumente paralele? (Întrebare bonus: ce naiba este wajig ?)

Comentarii

  • Știu că nu este răspunsul corect pentru întrebarea dvs., dar de ce nu puteți încerca sinaptic? este foarte sincer și descarcă și instalează dependențe automat. Gnome nu este prezent în sistemul dvs.?
  • Am ‘ părtinitor, dar cred că această întrebare este site-ul Ubuntu SE ar putea fi relevant.
  • duplicat: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
  • @Wim din cauza porțiunii wajig a acestei întrebări am decis să fuzionez 244 în această întrebare în loc de invers
  • Merită să menționăm că aptitudinea este programată pentru eliminarea din instalarea implicită pe următoarea versiune de Ubuntu (deși ați putea să o instalați întotdeauna folosind apt-get după aceea)

Răspundeți

Cea mai evidentă diferență este că aptitude oferă o interfață de meniu terminal (la fel ca Synaptic într-un terminal), în timp ce apt-get nu.

Având în vedere numai interfețele din linia de comandă ale fiecăruia, acestea sunt destul de similare și, în cea mai mare parte, nu contează pe care le utilizați. Versiunile recente ale ambelor vor urmări care pachete au fost instalate manual și care au fost instalate ca dependențe (și, prin urmare, eligibile pentru eliminarea automată). De fapt, cred că și mai recent, cele două instrumente au fost actualizate pentru a partaja de fapt aceeași bază de date de pachete instalate manual versus automat, deci cazurile în care instalați ceva cu apt-get și apoi aptitude vrea să îl dezinstaleze sunt în mare parte un lucru de trecutul.

Există câteva diferențe minore:

  • aptitude va elimina automat pachetele eligibile, în timp ce apt-get necesită o comandă separată pentru a face acest lucru
  • comenzile pentru upgrade vs. dist-upgrade au fost redenumite în aptitude la numele probabil mai precise safe-upgrade și full-upgrade , respectiv.
  • aptitude îndeplinește de fapt funcțiile nu doar apt-get, ci și unele dintre instrumentele sale însoțitoare, cum ar fi apt-cache și apt-mark.
  • aptitude are o sintaxă de interogare ușor diferită pentru căutare (în comparație cu apt-cache)
  • aptitude are comenzile de ce și de ce nu pentru a vă spune care pachete instalate manual împiedică o acțiune pe care ați putea dori să o faceți.
  • Dacă acțiunile (instalarea, eliminarea, actualizarea pachetelor) pe care doriți să le efectuați provoacă conflicte, aptitude poate sugerează mai multe rezoluții potențiale. apt-get va spune doar „Îmi pare rău Dave, nu îți pot permite să faci asta.”

Există alte mici diferențe, dar acestea sunt cele mai importante pe care eu se poate gândi la.

Pe scurt, aptitude aparține mai adecvat categoriei cu Synaptic și alte frontend-uri de manager de pachete de nivel superior. Se întâmplă să aveți și o interfață de linie de comandă care seamănă cu apt-get.

Runda bonus: Ce este wajig?

Amintiți-vă cum am menționat acele instrumente „însoțitoare”, cum ar fi apt- cache și apt-mark? Ei bine, există o grămadă de ele și, dacă le folosești mult, s-ar putea să nu-ți amintești care dintre ele oferă ce comenzi. Wajig este o soluție la această problemă. Este în esență un dispecer, un înveliș în jurul tuturor acestor instrumente. aplică și sudo atunci când este necesar. Când rostiți wajig install foo, wajig spune „Ok, install este furnizat de apt-get și necesită privilegii de administrator „, și rulează sudo apt-get install foo. Când rostiți wajig search foo, wajig spune” Ok, search este furnizat de apt-cache și nu necesită privilegii de administrator „și rulează apt-cache search foo. Dacă folosiți wajig în loc de apt-get, apt-mark, apt-cache și altele, atunci nu veți avea niciodată această problemă:

$ apt-get search foo E: Invalid operation search 

Dacă doriți să știți ce face wajig în culise, ce instrumente folosește pentru a implementa o anumită comandă, are --simulate și --teaching m ode.

Două comenzi wajig pe care le folosesc adesea sunt wajig listfiles foo și wajig whichpkg /usr/bin/foo.

Comentarii

  • O problemă importantă pe care am avut-o cu aptitude este că durează mult timp pentru a obține completări de filă pe numele pachetelor (de exemplu, aptitude install linux-im tab), deși este foarte rapid pentru apt-get. Se pare că există ceva cache în familia apt-get care lipsește pentru aptitudine.
  • aptitude au, de asemenea, minunatul aptitude search pe care o puteți utiliza cu foarte puternice modele de căutare . Aveți aptitude reinstall. Puteți utiliza, de asemenea, interfața ncurses (meniul terminal) pentru a pregăti operațiuni complexe de pachete , cum ar fi actualizarea parțială, eliminați un pachet, înghețați altul, actualizați-l, pe care îl puteți executa apoi într-un singur operațiune … Oh, și are un rezolvator de conflicte interactiv .
  • @Totor vacă sfântă, folosind aptitude ‘ Interfața ncurses pentru a pregăti comenzi tocmai m-a vândut pe aptitude o dată pentru totdeauna! (după ani de gândire aptitude merită făcut, dar tastarea apt-get din memoria musculară)
  • … și aptitude are și aptitude download package-name pentru a obține pachetul .deb fișier!
  • Este ‘ doar un lucru pe care l-am găsit că nu este ‘ t în aptitude, dar sunt în apt-get, și anume apt-get --compile source package-name . apt-get build-dep package-name există, dar cred că aptitude build-dep package-name face o treabă mai bună.

Răspuns

M-am întrebat deseori. Wikipedia evidențiază că principala caracteristică distinctivă este că aptitudinea are o interfață ecran complet în modul text (blesteme). Faptul că puteți utiliza majoritatea argumentelor de comandă apt-get cu aptitude în sine este doar o decizie de proiectare pentru a facilita accesul utilizatorilor apt-get la aptitude și invers.

Nu am folosit niciodată wajig, dar documentația sugerează că este doar un script care știe dacă îi trimiți un fișier deb (când rulează dpkg) sau un nume de pachet apt (când rulează apt-get în schimb). Ați putea încerca și a vedea dacă asta face?

Desigur, diferența reală este:

gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program. 

Comentarii

  • Nu! aptitude are mai multe. Ați uitat să puneți nesfârșitele -v steaguri la moo. (Puteți merge până la -vvvvvv)
  • Nu ‘ nu uitați de toate puterile importante ale Super Cow, care apt-get are, dar aptitude nu. (Încercați --help pe ambele)
  • lmao. acesta este un răspuns amuzant de citit, chiar dacă răspunsul lui @ryan ‘ este mult mai elaborat;)

Răspunsul

aptitude este programul preferat pentru gestionarea pachetelor de pe consolă atât pentru instalarea pachetelor, cât și pentru actualizările de pachete sau sisteme în Debian.

Iată o prezentare generală a instrumentului și caracteristicile pe care le are peste apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude

Deci, sfatul meu este să doar apt-get install aptitude 🙂

Comentarii

  • note de versiune să spunem că apt-get este acum recomandat peste aptitude pentru ca actualizările să fie stoarse.
  • Da, dar numai pentru asta. În caz contrar, acestea sunt considerate egale, dar aptitude are o mulțime de funcții mai avansate, cum ar fi căutarea și modul ecran complet, decât apt-get.
  • Dintr-un anumit motiv, a folosit aptitude pentru a instala emacs și fără a căuta, a eliminat gdm! Deci, pentru moment, voi folosi apt-get, dar sunt foarte curios de aptitudine.

Răspuns

aptitude își amintește ce pachete au fost solicitate în mod explicit și care au fost instalate numai din cauza dependențelor. Va dezinstala automat pachetele care nu au fost solicitate în mod explicit atunci când nu mai sunt necesare.

apt-get tratează pachetele solicitate în mod explicit și dependențele lor la fel.

Deci, folosiți mai bine aptitude, acest lucru vă ajută să vă mențineți sistemul curat.

Comentarii

  • Acest lucru era adevărat, dar știu că apt-get are o comandă apt-get autoremove pentru eliminarea pachetelor instalate doar ca dependențe. Nu ‘ nu știu când a fost adăugată această caracteristică, dar un site web sugerează că s-ar fi putut întâmpla cu Debian Lenny (iunie 2010).
  • apt-get autoremove nu ‘ nu elimină pachetele instalate doar ca dependențe, elimină dependențele orfane, ceea ce reprezintă o diferență subtilă ; ‘ nu poate spune dacă un pachet ‘ leaf ‘ a fost instalat cu intenție sau ca o dependență, așa că o părăsește, unde aptitude ar ști și o va elimina.
  • Am ‘ vândut! Există și alte lucruri frumoase despre aptitude, dar aceasta este o caracteristică simplă.

Răspuns

apt-get, precum și diferitele instrumente însoțitoare, folosesc mult mai puțină memorie decât invocațiile din linia de comandă respective ale aptitude și sunt puțin mai rapide. Nu am știut fericit de acest lucru până când am încercat să actualizez instalarea debian pe un ThinkPad vechi, cu 32 MB de RAM. Ar dura o oră sau două de swap-thrashing pentru a rula apt-get, care s-a finalizat cu succes; aptitude ar eșua după ce cred că o perioadă mai lungă de timp.

Această distincție este mai mult sau mai puțin irelevantă pentru orice seamănă cu un sistem desktop modern.

Răspuns

Pe baza răspunsului lui @Gaurav, ouăle de Paște din cei doi manageri de pachete sunt destul de amuzante !:

siddhartha@siddhartha-dev:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... siddhartha@siddhartha-dev:~$ aptitude moo There are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -v moo There really are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -vv moo Didn"t I already tell you that there are no Easter Eggs in this program? siddhartha@siddhartha-dev:~$ aptitude -vvv moo Stop it! siddhartha@siddhartha-dev:~$ aptitude -vvvv moo Okay, okay, if I give you an Easter Egg, will you go away? siddhartha@siddhartha-dev:~$ aptitude -vvvvv moo All right, you win. /----\ -------/ \ / \ / | -----------------/ --------\ ---------------------------------------------- siddhartha@siddhartha-dev:~$ aptitude -vvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. 

și așa mai departe.

Răspuns

Oferă aceeași funcționalitate de bază: instalați și eliminați pachetele din linia de comandă.

Aici este o comparație mai detaliată, postată pe Site web Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749

Comentarii

  • Sunt destul de asemănătoare, pot comuta între ele destul de ușor.

Răspuns

După cum sa menționat, http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude are un muc Este mai ușor de utilizat interfața liniei de comandă.

Sub capotă, nu folosesc același sistem APT? Da.

Sistemul de bază nu este doar apt, ci dpkg. Acest sistem este la fel de prost ca RPM, poate gestiona doar instalarea și administrarea pachetelor individuale. Urmărește fișierele instalate care aparțin pachetului.

apt gestionează descărcările de depozite, urmărirea dependențelor și așa mai departe pentru toate pachetele individuale – pe care apoi le se instalează utilizând dpkg. aptitude face același lucru, cu o interfață diferită.

Răspuns

Ambele apt -get și aptitude se bazează pe biblioteca APT, da.

Vedeți răspunsul meu pe serverfault.com .

Debian nu este o entitate monolitică, există oameni cu opinii diferite, iar administratorul aptitude a decis că apt-get are unele neajunsuri și a dorit să construiască ceva mai bun cu aptitude. El a îmbunătățit logica pentru a găsi soluții pentru scenarii complexe de actualizare, a adăugat o interfață grafică pentru consolă etc. Și există mai mult decât apt-get și aptitude, vezi articolul meu apt -get, aptitude, … alege managerul de pachete potrivit pentru tine .

Răspuns

Nu sunt sigur dacă acest lucru rămâne valabil, dar dezvoltatorul Debian, sângerând, Joey Hess a folosit întotdeauna pentru a susține aptitudinea față de apt-get. Desigur, lucrurile se schimbă pe măsură ce software-ul evoluează. Apt-get gestionează acum dependențele mai bine decât înainte. De la http://lists.debian.org/debian-user/2004/04/msg03138.html

Data: marți, 20 aprilie 2004 22:27:12 -0400 De la: Joey Hess

Nouă motive pentru care ar trebui să utilizați aptitude în loc de apt-get sau dselect.

  1. aptitude poate arăta exact ca apt-get

    Dacă rulați „aptitude update” sau „aptitude upgrade” sau „aptitude install”, acesta arată și funcționează exact ca apt-get, cu câteva îmbunătățiri. Așadar, nu există o curbă de învățare.

    (Dacă sunteți un utilizator selectat, curba de învățare nu este evident una dintre problemele dvs.)

  2. piste de aptitudini pachete instalate automat

    Nu vă mai faceți griji cu privire la tăierea bibliotecilor neutilizate și a suportului pachetelor din sistemul dvs. Dacă utilizați aptitude pentru a instala totul, acesta va urmări ce pachete sunt extrase de dependențe și va elimina pachetele respective atunci când nu mai sunt necesare.

  3. aptitude sanely handles recomanda

    Un eșec de lungă durată al apt-get a fost lipsa de sprijin pentru relația Recomandă Ceea ce este o problemă, deoarece multe pachete din Debian se bazează pe Recomandă să extragă software pe care utilizatorul mediu îl folosește în general cu pachetul. Aceasta este o cauză neobișnuită de probleme, chiar dacă apt-get a devenit recent capabil să menționeze cel puțin pachetele recomandate , este ușor să ratezi avertismentele sale.

    Aptitude acceptă recomandările în mod implicit și poate fi configurat pentru a accepta și Sugestii. Suportă chiar instalarea pachetelor recomandate atunci când este utilizat în modul linie de comandă.

  4. utilizați aptitude ca utilizator normal și evitați să vă ascundeți sistemul

    Poate că nu ați făcut acest lucru ” Nu știți că puteți rula aptitude în modul gui ca utilizator obișnuit. Faceți modificările pe care doriți să le încercați. Dacă intrați într-o adevărată mizerie, puteți apăsa pe „q” și ieși, modificările dvs. nu vor fi salvate. (Aptitude vă permite, de asemenea, să utilizați ctrl-u pentru a anula modificările.) Deoarece rulează ca un utilizator normal, nu vă puteți lăsa sistemul până când nu spuneți aptitude să facă ceva, moment în care vă va solicita parola de root.

  5. aptitude are o UI puternică și capabilități de căutare

    Între browserul categoric aptitude și suportul său excelent pentru filtrarea în stil mutt și căutarea pachetelor după nume, descriere, mentenanță, dependențe etc., ar trebui să puteți găsi pachete mai repede decât oricând folosind aptitude.

  6. aptitude face mai ușor să urmăriți software-ul învechit

    Dacă Debian încetează să distribuie un pachet, apt îl va lăsa pe sistemul dvs. la nesfârșit, fără avertismente și fără actualizări. Aptitude listează astfel de pachete în secțiunea „Pachete învechite și create local”, astfel încât să puteți fi informat despre problemă și să faceți ceva în legătură cu aceasta.

  7. aptitude are o interfață cu Debian sistemul de activități

    Aptitude vă permite să utilizați sistemul de activități Debian așa cum a fost conceput pentru a fi utilizat. Puteți răsfoi sarcinile disponibile, selectați o sarcină pentru instalare, apoi săpați în ea și deselectați părți din sarcina pe care nu o vrei. apt-get nu are suport pentru sarcini, iar aptitude este mai bun chiar și decât instrumentele cu scopuri speciale precum tasksel.

  8. aptitude acceptă mai multe surse

    Dacă sursele tale. lista este configurată pentru a face disponibile mai multe versiuni ale unui pachet, aptitude vă permite să detaliați pentru a vedea versiunile disponibile și să alegeți o versiune non-implicită pentru instalare. Dacă un pachet devine instabil, reveniți la versiunea în testare.

  9. aptitude își înregistrează acțiunile

    Aptitude înregistrează pachetul pe care îl instalează, face upgrade, și elimină la / varlog / aptitude, care poate fi util pentru a afla de ce lucrurile au început să se rupă după actualizarea de ieri sau când ați eliminat un pachet partiticlar.

– vezi timid jo

=================== există, de asemenea, o discuție mai nouă din 2010 aici https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use pe StackExchange.

Lasă un răspuns

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