Wat is het echte verschil tussen “ apt-get ” en “ aptitude ”? (Hoe zit het met “ wajig ”?)

Ik weet het dat beide apt-get en aptitude commandoregel-pakketbeheerinterfaces zijn op van Debian afgeleide Linux, met verschillende opties, maar ik ben nog enigszins in de war. Gebruiken ze onder de motorkap niet hetzelfde APT-systeem?

Waarom onderhoudt Debian deze parallelle tools? (Bonusvraag: wat is in vredesnaam wajig ?)

Reacties

  • Ik weet dat dit niet het juiste antwoord is voor je vraag, maar waarom kun je synaptisch niet proberen? het is erg vriendelijk voor de gebruiker en downloadt en installeert automatisch afhankelijkheden. Is gnome niet aanwezig op uw systeem?
  • Ik ‘ m bevooroordeeld, maar ik denk dat deze vraag op de Ubuntu SE-site kan relevant zijn.
  • duplicate: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
  • @Wim vanwege het wajig-gedeelte van deze vraag heb ik besloten om 244 samen te voegen met deze vraag in plaats van andersom.
  • Het is vermeldenswaard dat aanleg vaststaat voor verwijdering van de standaardinstallatie op de volgende versie van Ubuntu (hoewel je het altijd achteraf met apt-get zou kunnen installeren)

Answer

Het meest voor de hand liggende verschil is dat aptitude een terminalmenu-interface biedt (vergelijkbaar met Synaptic in een terminal), terwijl apt-get niet.

Als we alleen de opdrachtregelinterfaces van elk beschouwen, lijken ze behoorlijk op elkaar, en voor het grootste deel maakt het eigenlijk niet uit welke je gebruikt. Recente versies van beide houden bij welke pakketten handmatig zijn geïnstalleerd en welke zijn geïnstalleerd als afhankelijkheden (en daarom in aanmerking komen voor automatische verwijdering). Sterker nog, ik geloof dat zelfs recenter de twee tools zijn bijgewerkt om feitelijk dezelfde database van handmatig versus automatisch geïnstalleerde pakketten te delen, dus gevallen waarin je iets installeert met apt-get en aptitude het vervolgens wil verwijderen, zijn meestal iets van het verleden.

Er zijn een paar kleine verschillen:

  • aptitude zal automatisch geschikte pakketten verwijderen, terwijl apt-get hiervoor een apart commando nodig heeft.
  • De commandos voor upgrade vs. dist-upgrade zijn in aptitude hernoemd naar de waarschijnlijk nauwkeurigere namen safe-upgrade en full-upgrade , respectievelijk.
  • aptitude voert feitelijk niet alleen de functies uit van apt-get, maar ook van enkele van de bijbehorende tools, zoals apt-cache en apt-mark.
  • aptitude heeft een iets andere querysyntaxis voor zoeken (vergeleken met apt-cache)
  • aptitude heeft de waarom en waarom-niet -opdrachten om u te vertellen welke handmatig geïnstalleerde pakketten een actie verhinderen die u zou willen ondernemen.
  • Als de acties (installeren, verwijderen, bijwerken van pakketten) die u wilt ondernemen conflicten veroorzaken, kan aptitude suggereren verschillende mogelijke oplossingen. apt-get zal gewoon zeggen: “Het spijt me Dave, ik kan” je dat niet toestaan. “

Er zijn andere kleine verschillen, maar dat zijn de belangrijkste die ik kunnen bedenken.

Kortom, aptitude hoort beter thuis in de categorie met Synaptic en andere frontends voor pakketbeheer op een hoger niveau. Het heeft toevallig ook een opdrachtregelinterface die lijkt op apt-get.

Bonusronde: wat is wajig?

Onthoud hoe ik die “begeleidende” tools noemde, zoals apt- cache en apt-mark? Nou, er zijn er een heleboel, en als je ze veel gebruikt, weet je misschien niet meer welke welke commandos bieden. Wajig is een oplossing voor dat probleem. Het is in wezen een dispatcher, een omhulsel rond al die tools. past ook sudo toe indien nodig. Als je wajig install foo zegt, zegt wajig “Ok, install wordt geleverd door apt-get en vereist beheerdersrechten, “en het draait sudo apt-get install foo. Als je wajig search foo zegt, zegt wajig” Ok, search wordt geleverd door apt-cache en vereist geen beheerdersrechten “, en het draait apt-cache search foo. Als u gebruik wajig in plaats van apt-get, apt-mark, apt-cache en anderen, dan heb je “dit probleem nooit:

$ apt-get search foo E: Invalid operation search 

Als je wilt weet wat wajig achter de schermen doet, welke tools het gebruikt om een bepaald commando te implementeren, het heeft --simulate en --teaching m odes.

Twee wajig-commandos die ik vaak gebruik zijn wajig listfiles foo en wajig whichpkg /usr/bin/foo.

Opmerkingen

  • Een groot probleem dat ik had met aptitude is dat het lang duurt om tab-aanvullingen op pakketnamen te krijgen (bijv. aptitude install linux-im tab), terwijl het erg snel is voor apt-get. Er lijkt wat caching aanwezig te zijn in de apt-get-familie die ontbreekt voor aptitude.
  • aptitude hebben ook de geweldige aptitude search die u kunt gebruiken met zeer krachtige zoekpatronen . Je hebt aptitude reinstall. U kunt ook de interface ncurses (terminalmenu) gebruiken om complexe pakketbewerkingen voor te bereiden, zoals een gedeeltelijke upgrade, een pakket verwijderen, een ander bevriezen, deze upgraden, die u vervolgens in een enkele operatie … Oh, en het heeft een interactieve conflictoplosser .
  • @Totor heilige koe, met aptitude ‘ s ncurses-interface om commandos voor te bereiden die me zojuist voor eens en voor altijd op aptitude hebben verkocht! (na jaren van denken is aptitude de moeite waard om te doen, maar apt-get typen uit spiergeheugen)
  • … en aptitude heeft ook aptitude download package-name om het .deb-bestand van het pakket op te halen!
  • Het ‘ is slechts één ding dat ik heb gevonden, namelijk niet ‘ t in aptitude maar bevinden zich in apt-get, en dat is apt-get --compile source package-name . apt-get build-dep package-name bestaan, maar ik denk dat aptitude build-dep package-name het beter doet.

Antwoord

Ik “heb mezelf vaak afgevraagd. Wikipedia benadrukt dat het belangrijkste onderscheidende kenmerk is dat aptitude een tekstmodus (vloeken) interface op volledig scherm. Het feit dat u de meeste apt-get -opdrachtargumenten kunt gebruiken met aptitude zelf is slechts een ontwerpbeslissing om het apt-get gebruikers gemakkelijker te maken om naar aptitude en vice versa te gaan.

Ik heb nooit gebruikt wajig, maar de documentatie suggereert dat het “slechts een script is dat weet of u” het een deb -bestand doorgeeft (wanneer het wordt uitgevoerd dpkg) of een apt pakketnaam (wanneer in plaats daarvan apt-get wordt uitgevoerd). Kunt u het uitproberen en kijken of het dat doet?

Natuurlijk is het echte verschil:

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

Reacties

  • Nee! aptitude heeft meer. Je bent vergeten de eindeloze -v vlaggen op moo te zetten. (Je kunt tot -vvvvvv gaan)
  • Vergeet ‘ niet alle belangrijke superkoeienkrachten, die apt-get heeft maar aptitude niet. (Probeer --help op beide)
  • lmao. dat is een leuk antwoord om te lezen, ook al is het antwoord van @ryan ‘ veel uitgebreider;)

Antwoord

aptitude is het voorkeursprogramma voor pakketbeheer vanaf de console, zowel voor pakketinstallaties als pakket- of systeemupgrades in Debian.

Hier is een overzicht van de tool en de functies die het heeft ten opzichte van apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude

Dus mijn advies is om gewoon apt-get install aptitude 🙂

Opmerkingen

  • De release-opmerkingen zeg dat apt-get nu wordt aanbevolen boven aptitude voor upgrades om te squeeze.
  • Ja, maar alleen daarvoor. Anders worden ze als gelijk beschouwd, maar aptitude heeft veel meer geavanceerde functies, zoals zoeken en volledig scherm, dan apt-get.
  • Om de een of andere reden aptitude gebruikt om emacs te installeren en zonder ernaar te kijken verwijderde gdm! Dus voorlopig zal apt-get gebruiken, maar ik ben erg benieuwd naar aptitude.

Answer

aptitude onthoudt welke pakketten expliciet werden aangevraagd en welke alleen werden geïnstalleerd vanwege afhankelijkheden. Het zal automatisch pakketten verwijderen die niet expliciet werden aangevraagd wanneer ze niet langer nodig zijn.

apt-get behandelt expliciet aangevraagde pakketten en hun afhankelijkheden hetzelfde.

Gebruik dus beter aptitude, dit helpt om uw systeem schoon te houden.

Opmerkingen

  • Dit was vroeger waar, maar ik weet dat mijn apt-get een apt-get autoremove commando heeft voor het verwijderen van pakketten die alleen als afhankelijkheden zijn geïnstalleerd. Ik weet niet ‘ wanneer deze functie is toegevoegd, maar een website suggereert dat het mogelijk is gebeurd met Debian Lenny (juni 2010).
  • apt-get autoremove verwijdert geen ‘ pakketten die alleen als afhankelijkheden zijn geïnstalleerd, het verwijdert verweesde afhankelijkheden, wat een subtiel verschil is ; het kan ‘ niet zeggen of een ‘ leaf ‘ -pakket is geïnstalleerd met de bedoeling of als een afhankelijkheid zodat het het verlaat, waar aptitude het zou weten en het zou verwijderen.
  • Ik ‘ m verkocht! Er zijn nog andere leuke dingen aan aptitude, maar dit is zonder meer een geweldige functie.

Antwoord

apt-get, evenals de verschillende bijbehorende tools, gebruiken aanzienlijk minder geheugen dan de respectievelijke opdrachtregelaanroepen van aptitude, en zijn iets sneller. Ik was me hier helemaal niet van bewust totdat ik probeerde de Debian-installatie te upgraden op een verschrompeld oud pentium-denkpad met 32 MB RAM. Het zou een uur of twee van swap-thrashing kosten om apt-get uit te voeren, wat met succes is voltooid; aptitude zou mislukken na een langere periode denk ik.

Dit onderscheid is min of meer irrelevant voor alles wat lijkt op een modern desktopsysteem.

Answer

Voortbouwend op het antwoord van @Gaurav, zijn de paaseieren in de twee pakketbeheerders best grappig !:

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. 

enzovoort.

Antwoord

Ze bieden dezelfde basisfunctionaliteit: installeer en verwijder pakketten vanaf de opdrachtregel.

Hier “s een meer gedetailleerde vergelijking, gepost op de Ubuntu Stack Exchange-website : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749

Opmerkingen

  • Ze lijken redelijk op elkaar, ik kan er gemakkelijk tussen schakelen.

Antwoord

Zoals vermeld zijn http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude heeft een muc h gemakkelijker te gebruiken opdrachtregelinterface.

Onder de motorkap gebruiken ze niet hetzelfde APT-systeem? Ja.

Het onderliggende systeem is niet alleen apt, maar dpkg. Dit systeem is net zo dom als RPM, het kan alleen de installatie en het beheer van losse pakketten aan. Het houdt bij welke geïnstalleerde bestanden bij welk pakket horen.

apt behandelt de downloads van repositories, het volgen van afhankelijkheden, enzovoort voor alle individuele pakketten – die het vervolgens installeert met dpkg. aptitude doet hetzelfde, met een andere interface.

Antwoord

Beide apt -get en aptitude vertrouwen op de APT-bibliotheek, ja.

Zie mijn antwoord op serverfault.com .

Debian is geen monolithische entiteit, er zijn mensen met verschillende meningen en de beheerder van aptitude besloot dat apt-get enkele tekortkomingen had en wilde iets beters bouwen met aptitude. Hij verbeterde de logica om oplossingen te vinden voor complexe upgrade-scenarios, voegde een GUI toe voor de console, enz. En er is meer dan alleen apt-get en aptitude, zie mijn artikel apt -get, aptitude, … kies de juiste pakketbeheerder voor jou .

Antwoord

Ik weet het niet zeker als dit nog steeds zo is, maar de hypermoderne Debian-ontwikkelaar Joey Hess was altijd voorstander van bekwaamheid boven apt-get. Natuurlijk veranderen er dingen naarmate de software evolueert. Apt-get behandelt afhankelijkheden nu beter dan vroeger. Van http://lists.debian.org/debian-user/2004/04/msg03138.html

Datum: di 20 april 2004 22:27:12 -0400 From: Joey Hess

Negen redenen waarom je aptitude zou moeten gebruiken in plaats van apt-get of dselect.

  1. aptitude kan er net zo uitzien als apt-get

    Als u “aptitude update” of “aptitude upgrade” of “aptitude install” uitvoert, ziet het eruit en werkt het net als apt-get, met een paar verbeteringen. Er is dus geen leercurve.

    (Als u “een dselect-gebruiker bent, is de leercurve duidelijk niet een van uw problemen.)

  2. Geschiktheidssporen automatisch geïnstalleerde pakketten

    Maak u geen zorgen meer over het verwijderen van ongebruikte bibliotheken en ondersteuningspakketten van uw systeem. Als u aptitude gebruikt om alles te installeren, houdt het bij welke pakketten alleen door afhankelijkheden worden binnengehaald en verwijdert het die pakketten wanneer ze zijn niet langer nodig.

  3. aptitude gaat verstandig om met aanbevelingen

    Een langdurige mislukking van apt-get is het gebrek aan ondersteuning voor de relatie met de aanbevelingen Dat is een probleem omdat veel pakketten in Debian vertrouwen op Aanbevelingen om software binnen te halen die de gemiddelde gebruiker gewoonlijk met het pakket gebruikt. Dit is een niet ongebruikelijke oorzaak van problemen, ook al is apt-get onlangs in staat geweest om op zijn minst aanbevolen pakketten te noemen. , is het gemakkelijk om de waarschuwingen over het hoofd te zien.

    Aptitude ondersteunt standaard aanbevelingen en kan worden geconfigureerd om ook suggesties te ondersteunen. Het ondersteunt zelfs het installeren van aanbevolen pakketten wanneer deze in de opdrachtregelmodus worden gebruikt.

  4. gebruik aptitude als een normale gebruiker en vermijd het spoelen van uw systeem.

    Misschien niet ” Ik weet niet dat u aptitude in de GUI-modus kunt gebruiken als een gewone gebruiker. Breng alle wijzigingen aan die u wilt uitproberen. Als je in een echte puinhoop terechtkomt, kun je op “q” drukken en afsluiten, je wijzigingen worden niet opgeslagen. (Aptitude laat je ook ctrl-u gebruiken om wijzigingen ongedaan te maken.) Aangezien het draait als een normale gebruiker, kun je je systeem niet slangen totdat je aptitude vertelt iets te doen, waarna het je zal vragen om je root-wachtwoord. / p>

  5. aptitude heeft een krachtige gebruikersinterface en zoekmogelijkheden

    Tussen de categorische browser van aptitude en zijn geweldige ondersteuning voor filteren in mutt-stijl en het zoeken van pakketten op naam, beschrijving, onderhouder, afhankelijkheden, enz., u zou pakketten sneller dan ooit moeten kunnen vinden voordat u aptitude gebruikt.

  6. aptitude maakt het gemakkelijk om verouderde software bij te houden

    Als Debian stopt met het verspreiden van een pakket, zal apt het voor onbepaalde tijd op uw systeem laten staan, zonder waarschuwingen en zonder upgrades. Aptitude zet dergelijke pakketten op een rij in de sectie “Verouderde en lokaal gemaakte pakketten”, zodat u op de hoogte kunt worden gehouden van het probleem en er iets aan kunt doen.

  7. aptitude heeft een interface met Debian taaksysteem

    Met Aptitude kunt u het taaksysteem van Debian gebruiken zoals het is ontworpen om te worden gebruikt. U kunt door de beschikbare taken bladeren, een taak selecteren om te installeren, en er vervolgens in graven en delen van de taak die je niet wilt. apt-get heeft geen ondersteuning voor taken, en aptitude is zelfs beter dan tools voor speciale doeleinden, zoals tasksel.

  8. aptitude ondersteunt meerdere bronnen

    Als uw bronnen. list is geconfigureerd om meerdere versies van een pakket beschikbaar te maken, aptitude laat u inzoomen om de beschikbare versies te zien en een niet-standaardversie kiezen om te installeren. Als een pakket instabiel breekt, rol het dan gewoon terug naar de versie tijdens het testen.

  9. aptitude registreert zijn acties

    Aptitude registreert pakket dat het installeert, upgrades, en verwijdert naar / varlog / aptitude, wat handig kan zijn om erachter te komen waarom dingen begonnen te breken na de upgrade van gisteren, of wanneer je een partiticlar pakket hebt verwijderd.

– zie verlegen jo

=================== er is ook een nieuwere discussie uit 2010 hier https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use op StackExchange.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *