Lösung 1:
aptitude ist ein Wrapper für dpkg, genau wie apt-get/apt-cache, aber es ist ein One-Stop-Shop-Tool zum Suchen/Installieren/Entfernen/Abfragen. Ein paar Beispiele, die apt möglicherweise nicht bereitstellt:
$ 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 <[email protected]>
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.
Lösung 2:
[email protected] ~$ aptitude -h | tail -n 1
This aptitude does not have Super Cow Powers.
[email protected] ~$ apt-get -h | tail -n 1
This APT has Super Cow Powers.
[email protected] ~$ aptitude moo
There are no Easter Eggs in this program.
[email protected] ~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
[email protected] ~$ aptitude -v moo
There really are no Easter Eggs in this program.
[email protected] ~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
[email protected] ~$ aptitude -vvv moo
Stop it!
[email protected] ~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
[email protected] ~$ aptitude -vvvvv moo
All right, you win.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
[email protected] ~$ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
Lösung 3:
Das offizielle Tool, das derzeit im Debian-Installer verwendet und in den Versionshinweisen empfohlen wird ist aptitude
.
Aptitude bietet eine Curses-Schnittstelle (wenn es ohne Parameter ausgeführt wird) und eine Befehlszeilenschnittstelle, die fast alles tun kann, was apt-cache
kann /apt-get
tut. Es hat auch einen besseren Abhängigkeitsauflöser, mit dem Sie zwischen mehreren Lösungen suchen können. Selbst wenn Sie die Befehlszeilenversion verwenden, können Sie mit der vorgeschlagenen Lösung interagieren und zusätzliche Anweisungen oder Hinweise geben (wie das Installieren oder Entfernen eines Pakets, das von einem anderen empfohlen wird).
Aber aptitude basiert auf der libapt-Bibliothek (es ist kein direkter Wrapper von dpkg) und hängt als solches von apt
ab Paket, sodass Sie aptitude nicht ohne apt-get (das auch im apt-Paket enthalten ist) installieren können.
$ 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
Um mehr darüber zu erfahren, wie apt/dpkg/aptitude interagieren, können Sie sich das Diagramm von Daniel Burrows (Hauptautor von aptitude) ansehen. Ein weiteres Diagramm zeigt die Informationen, die von den verschiedenen Paketverwaltungswerkzeugen gespeichert werden:Eine Karte der apt- und dpkg-Zustandsdateien.
Sie können auch meinen Artikel apt-get, aptitude, … lesen Sie den richtigen Paketmanager für Sie
Lösung 4:
aptitude
merkt sich, welche Pakete Sie absichtlich installiert haben und welche automatisch installiert wurden, um Abhängigkeiten zu erfüllen. Beim Entfernen eines Pakets entfernt aptitude diese automatisch installierten Pakete, um Ihr System aufgeräumt zu halten. apt-get
ist nicht so schlau.
aptitude
wird schnell zu einem unverzichtbaren Werkzeug, sobald Sie verschiedene Repositories mit unterschiedlichen Versionen eines Pakets verwenden. Stellen Sie sich vor, Sie arbeiten mit backports.org zusammen oder inoffizielle Repositories wie debian-multimedia.org . Dann aptitude
zeigt (unten auf der Detailseite eines bestimmten Pakets) die verfügbare Versionsnummer und erlaubt Ihnen, eine auszuwählen.
Wenn Sie in eine Situation geraten, in der Programme aufgrund einer solchen Verwendung inoffizieller Repositories in Konflikt geraten, wird ein "Defekt:..." angezeigt oben anzeigen. Sie können l~b eingeben (Limit / Flag / Broken) und erhalten Sie einfach eine Liste von Paketen, die miteinander in Konflikt stehen. Macht es viel einfacher, den Konflikt manuell zu lösen.
Außerdem können Sie "l
verwenden ", um die Paketliste einzuschränken. Stellen Sie sich vor, Sie suchen nach Paketen, die mit "openoffice" beginnen " drücken Sie dann "l
" und geben Sie "^openoffice
ein " (es ist ein regulärer Ausdruck) und Sie sehen nur diese Pakete. Wählen Sie eine "flache Paketliste" aus dem Menü und Sie werden Ihr Ziel schnell erreichen.
Das komplette Handbuch ist sehr umfangreich und bietet Ihnen viele weitere Filter und Möglichkeiten. Auch wenn Sie sie nicht kennen aptitude
ist ein praktischer Ersatz für apt-get
und Sie können es mit allgemeinen Parametern verwenden wie:
aptitude install ... (install or upgrade a package)
aptitude remove ... (remove the binary portions of a package but preserve your /etc configuration)
aptitude purge ... (remove the package completely including your configuration)
Lösung 5:
Abgesehen von der Bereitstellung einer hübschen Konsolen-Benutzeroberfläche, wenn Sie aptitude
ausführen ohne Argumente kombiniert es die verschiedenen apt-*
Befehle (und dselect
) in ein Dienstprogramm..
Um nach einem Paket zu suchen und es zu installieren, verwenden Sie apt-get:
apt-cache search somepkg
apt-get install somepkg
..aber mit aptitude ist es derselbe Befehl:
aptitude search somepkg
aptitude install somepkg
aptitude
hat einige zusätzliche Funktionen, wie aptitude changelog somepkg
und Dinge wie das Halten von Paketen (um zu verhindern, dass sie aktualisiert werden) - nichts, was Sie nicht mit anderen Befehlen/Methoden erreichen könnten, es ist nur einheitlicher und angenehmer zu verwenden.