Vraag Wat is het verschil tussen apt-get en aptitude?


Ik begrijp niet waarom er twee verschillende programma's in een minimale installatie zijn om software te installeren. Doen ze niet hetzelfde? Is er een groot verschil? Ik heb overal gelezen om aptitude over apt-get te gebruiken, maar ik weet het verschil nog steeds niet


55
2018-06-06 12:25


oorsprong




antwoorden:


aptitude is een wrapper voor dpkg, net als apt-get / apt-cache, maar het is een one-stop-shop-tool voor zoeken / installeren / verwijderen / bevragen. Een paar voorbeelden die apt mogelijk niet levert:

$ aptitude why libc6
i   w64codecs Depends libc6 (>= 2.3.2)
$ aptitude why-not libc6
Unable to find a reason to remove libc6.

$ aptitude show libc6
Package: libc6
State: installed
Automatically installed: no
Version: 2.9-4ubuntu6
Priority: required
Section: libs
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 12.1M
Depends: libgcc1, findutils (>= 4.4.0-2ubuntu2)
Suggests: locales, glibc-doc
Conflicts: libterm-readline-gnu-perl (< 1.15-2), 
tzdata (< 2007k-1), tzdata-etch, nscd (< 2.9)
Replaces: belocs-locales-bin
Provides: glibc-2.9-1
Description: GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs 
 on the system. This package includes shared versions of the standard 
 C library and the standard math library, as well as many others.

47
2018-06-06 12:34



niet te vergeten: $ aptitude changelog bash - pgs


mikeage@linode ~$ aptitude -h | tail -n 1
              This aptitude does not have Super Cow Powers.
mikeage@linode ~$ apt-get -h | tail -n 1
                   This APT has Super Cow Powers.
mikeage@linode ~$ aptitude moo
    There are no Easter Eggs in this program.
mikeage@linode ~$ apt-get moo
         (__)
         (oo)
   /------\/
  / |    ||
 *  /\---/\
    ~~   ~~
...."Have you mooed today?"...
mikeage@linode ~$ aptitude -v moo
There really are no Easter Eggs in this program.
mikeage@linode ~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
mikeage@linode ~$ aptitude -vvv moo
Stop it!
mikeage@linode ~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
mikeage@linode ~$ aptitude -vvvvv moo
All right, you win.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
mikeage@linode ~$ aptitude -vvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course. 

44
2018-06-07 18:27





De officiële tool die momenteel wordt gebruikt in het Debian-installatieprogramma en aanbevolen in de release-opmerkingen is aptitude.

Aptitude biedt een vloekinterface (wanneer uitgevoerd zonder enige parameter) en een opdrachtregelinterface die bijna alles kan apt-cache/apt-get doet. Het heeft ook een betere resolver voor afhankelijkheid waarmee u tussen meerdere oplossingen kunt bladeren. Zelfs wanneer u de opdrachtregelversie gebruikt, kunt u communiceren met de voorgestelde oplossing en aanvullende bestellingen of hints geven (zoals het installeren of verwijderen van een pakket dat door een andere wordt aanbevolen).

Maar aptitude is gebaseerd op de libapt-bibliotheek (het is geen directe verpakking van dpkg) en als zodanig is het afhankelijk van de apt pakket zodat je aptitude niet kunt installeren zonder apt-get (wat ook in het apt-pakket zit).

$ dpkg --status aptitude| grep Depends
Depends: libapt-pkg-libc6.9-6-4.7, [...]
$ dpkg --status apt|grep Provides
Provides: libapt-pkg-libc6.9-6-4.7
$ dpkg --search /usr/lib/libapt-pkg-libc6.9-6.so.4.7 /usr/bin/apt-get
apt: /usr/lib/libapt-pkg-libc6.9-6.so.4.7
apt: /usr/bin/apt-get

Voor meer informatie over hoe apt / dpkg / aptitude interact kunt u de diagram gemaakt door Daniel Burrows (hoofdauteur van aptitude). Een ander diagram geeft de informatie weer die is opgeslagen door de verschillende pakketbeheertools: Een kaart van de apt- en dpkg-statusbestanden.

Je kunt ook mijn artikel lezen apt-get, aptitude, ... kies de juiste pakketbeheerder voor u


18
2018-06-07 14:19



Uitstekende links Raphaël - bedankt! - icyrock.com


aptitude herinnert welke pakketten u opzettelijk hebt geïnstalleerd en die automatisch zijn geïnstalleerd om te voldoen aan afhankelijkheden. Bij verwijdering van een pakket verwijdert aptitude die automatisch geïnstalleerde pakketten om uw systeem opgeruimd te houden. apt-get is niet zo slim.

aptitude zal snel een onmisbaar hulpmiddel worden als je verschillende repositories met verschillende versies van een pakket gebruikt. Stel je voor dat je werkt met backports.org of inofficiële repositories zoals debian-multimedia.org. Vervolgens toont aptitude (onderaan de detailpagina van een bepaald pakket) het beschikbare versienummer en kunt u er een selecteren.

Als u in een situatie terechtkomt waarin programma's in conflict raken door een dergelijk gebruik van niet-officiële opslagplaatsen, ziet u een "Broken: ..." -scherm bovenaan. U kunt l ~ b typen (limit / flag / broken) en u krijgt gewoon een lijst met pakketten die tegenstrijdig zijn. Maakt het veel eenvoudiger om het conflict handmatig op te lossen.

Verder kunt u "l" gebruiken om de pakketlijst te beperken. Stel je voor dat je op zoek bent naar pakketten die beginnen met "openoffice", druk dan op "l" en typ "^ openoffice" (het is een reguliere expressie) en je zult alleen die pakketten zien. Kies een "platte pakketlijst" uit het menu en u zult snel uw doel bereiken.

Het complete handboek is erg groot en biedt u nog veel meer filters en mogelijkheden. Zelfs als je ze niet kent, is aptitude een handige vervanging voor apt-get en je kunt het gebruiken met gemeenschappelijke parameters zoals

aptitude install ... (een pakket installeren of upgraden) aptitude remove ... (verwijder de binaire delen van een pakket maar behoud je / etc-configuratie) aptitide purge ... (verwijder het pakket volledig inclusief uw configuratie)


7
2018-06-07 20:22



Vanaf Lenny volgt apt-get trouwens ook pakketten die alleen zijn geïnstalleerd als afhankelijkheden van iets waarvoor je expliciet hebt gevraagd. Ik gebruik zelf aanleg, maar apt-get autoremoveverwijdert nu pakketten die zijn geïnstalleerd als afhankelijkheden van een pakket dat sindsdien is verwijderd. - Telemachus


Afgezien van het verstrekken van een mooie console UI wanneer u uitvoert aptitude zonder argumenten combineert het de verschillende apt-* opdrachten (en dselect) in een hulpprogramma ..

Om een ​​pakket te zoeken en te installeren, gebruik je apt-get:

apt-cache search somepkg
apt-get install somepkg

..maar met aptitude is het hetzelfde commando:

aptitude search somepkg
aptitude install somepkg

aptitude heeft enkele extra functies, zoals aptitude changelog somepkg en dingen zoals het houden van pakketten (om te voorkomen dat ze geüpgraded worden) - niets wat je niet zou kunnen bereiken via andere commando's / methoden, het is gewoon meer uniform en leuk om te gebruiken.


5
2018-06-06 15:08



jammer dat het geen "apt-cache policy" equivalent heeft. - hayalci


Zoals je weet wanneer je een pakket installeert als het andere pakketten (afhankelijkheden) nodig heeft, zullen ze ook worden gedownload en geïnstalleerd. aptitude-tracks, op het moment van installeren, de pakketten die bij de geïnstalleerde pakketten zijn geleverd, dus wanneer je de laatste aptitude verwijdert, zal je worden gevraagd om de andere (nu ongebruikte) 'verweesde' afhankelijkheden te verwijderen. apt-get zal ze in uw systeem stil houden als u het "hoofdpakket" verwijdert.

het lijkt erop dat de nieuwste versies van apt-get een vergelijkbare functionaliteit hebben: http://www.psychocats.net/ubuntu/aptitude


4
2018-06-06 12:35





Het grootste verschil is dat aptitude is ontworpen om interactief te zijn waarbij apt-tools beter geschikt zijn voor scriptwerk. Je kunt de laatste, d.w.z. de apt-tools, interactief prima gebruiken met veel meer moeite om dezelfde resultaten te krijgen als aptitude biedt. Als u om een ​​of andere reden genoegen moet nemen met slechts één of andere tool, moet u beslissen hoeveel moeite u in uw pakketbeheer wilt steken.


3
2018-06-06 12:56





Een van de serieuze voordelen van aptitude is het vermogen om afhankelijkheden te berekenen. Ten eerste kan het ingewikkelde onderlinge afhankelijkheden aan, zonder tussenkomst van jezelf, waardoor apt-get vaak mislukt. Maar als je de oplossing die het je heeft gepresenteerd niet leuk vindt (en het zal zijn eigen oplossing scoren om aan te tonen hoe goed het denkt dat het is), kun je het vragen om weg te gaan en een andere oplossing te bedenken om het conflict op te lossen.

Het doet echt een geweldig pakketbeheer.


1
2018-06-06 12:55





Het grootste verschil is: typ "aptitude" zonder parameters.

Het geeft je een tekstgebaseerde gebruikersinterface, je kunt keybord gebruiken om te zoeken / navigeren enz. Zie informatie over afhankelijkheden, omgekeerde afhankelijkheden, alle beschikbare versies van een pakket, en je kunt elke pakketbeheerder-bewerking daarop uitvoeren vanaf dat scherm.

U kunt op "g" drukken om de wijzigingen te bekijken, de pakkettoevoegingen en verwijderingen indien nodig aan te passen en alle openstaande bewerkingen toe te passen.

Een geweldige visuele manier van pakketbeheer via een SSH-verbinding of een eenvoudige oude terminal.


1
2018-06-06 13:52