Mit der Zeit sammeln sich auf Ihrem System recht viele Pakete an. Bedingt durch die vorab definierten Paketabhängigkeiten schaufelt die Paketverwaltung etliches an Daten auf die Platte und füllt den verfügbaren Speicherplatz stetig, aber gnadenlos.
Möchten Sie klären, warum ein Paket installiert wurde, gibt Ihnen
aptitude
dazu bereitwillig Auskunft. Es versteht dazu das
Unterkommando why
, mit dem es Ihnen die Gründe auflistet, die zur
Installation des besagten Pakets geführt haben. Grundlage dafür sind
einerseits die Paketflags (siehe dazu Abschnitt 2.15, „Lokale Paketmarkierungen“) und andererseits
die Einträge in der Paketbeschreibung. aptitude
wertet daraus die fünf
Felder Recommends
, Conflicts
, Depends
, Replaces
und Provides
aus (siehe Abschnitt 4.1, „Konzepte und Ideen dahinter“). Über diese vorgenannten
Felder legt der Paketmaintainer die Beziehungen zu anderen Paketen fest.
Nachfolgendes Beispiel zeigt den Aufruf zum Paket xpdf. Ersichtlich
wird daraus, dass das Paket texpower wiederum xpdf oder ein Paket aus
der Gruppe pdf-viewer empfiehlt. Die Alternative wird hier durch einen
senkrechten Strich – das Pipe-Symbol – dargestellt. Das Paket xpdf ist
bereits installiert, wird jedoch wiederum auch vom Paket
texlive-latex-extra genutzt. Das Paket texpower wurde automatisch
installiert, was Sie anhand des Buchstabens A
in der dritten Spalte
der dritten Zeile in nachfolgender Ausgabe sehen können.
Ausgabe von aptitude
zur Klärung der Installation (Variante 1).
$ aptitude why xpdf i texlive-latex-extra Empfiehlt texpower (>= 0.2-2) i A texpower Empfiehlt xpdf | pdf-viewer $
Für eine wesentlich ausführlichere Ausgabe nutzen Sie den Schalter -v
.
Dieser besitzt die übliche Langform --verbose
und ergänzt die Ausgabe
um alle Pakete, die zur Installation führen können. Hintergrund dafür
ist, dass aptitude
aus den Paketinformationen sämtliche Abhängigkeits-
und Installationspfade errechnet und Ihnen diese auflistet.
Ausführliche Darstellung der Installationspfade (Ausschnitt).
$ aptitude --verbose why xpdf i mc Schlägt vor xpdf | pdf-viewer i nautilus Schlägt vor evince | pdf-viewer i xpdf Liefert pdf-viewer i dot2tex Empfiehlt pgf (>= 2.00) | texlive-pstricks i A texlive-pstricks Hängt ab von texlive-base (>= 2012.20120516) i A texlive-base Schlägt vor xpdf-reader | pdf-viewer i xpdf Liefert pdf-viewer ... $
In Kombination mit dem Schalter --show-summary
fassen Sie diese
Informationen zusammen und erhalten eine kompaktere Darstellung. Der
Schalter erlaubt die fünf Werte no-summary
, first-package
,
first-package-and-type
, all-packages
und
all-packages-with-dep-versions
. Geben Sie den Schalter beim Aufruf
nicht an, wird show-summary
auf den Wert no-summary
gesetzt.
Spezifizieren Sie keinen Wert für show-summary
, wird hingegen
first-package
angenommen. Damit erhalten Sie bei einem Aufruf die
folgende Ausgabe – hier beispielhaft für das Paket foomatic-db:
Zusammenfassung für das Paket foomatic-db.
$ aptitude -v --show-summary why foomatic-db Pakete, die foomatic-db erfordern: bluetooth cups-pdf printer-driver-gutenprint $
Der Wert first-package-and-type
liefert Ihnen zudem eine Begründung
für die Abhängigkeit:
Zusammenfassung für das Paket foomatic-db (mit Begründung).
$ aptitude -v --show-summary=first-package-and-type why foomatic-db Pakete, die foomatic-db erfordern: [Hängt ab von] bluetooth [Hängt ab von] cups-pdf [Hängt ab von] printer-driver-gutenprint $
Eine Übersicht zu allen Paketpfaden, die zum genannten Paket führen,
erhalten Sie mit Hilfe des Wertes all-packages
. Dabei stehen die
Buchstaben hinter den Paketnamen für Recommends
(R
), Conflicts
(C
), Depends
(D
), Replaces
(?) und Provides
(P
).
Zusammenfassung für das Paket foomatic-db (ausführlicher).
$ aptitude -v --show-summary=all-packages why foomatic-db Pakete, die foomatic-db erfordern: bluetooth E: bluez-cups H: cups E: foomatic-filters E: foomatic-db-engine E: foomatic-db cups-pdf H: cups E: foomatic-filters E: foomatic-db-engine E: foomatic-db printer-driver-gutenprint H: cups E: foomatic-filters E: foomatic-db-engine E: foomatic-db $
Benötigen Sie zudem noch die Versionsnummer, von der dieses Paket
abhängt, setzen Sie den Wert von --show-summary
auf den Wert
all-packages-with-dep-versions
:
Zusammenfassung für das Paket foomatic-db (ausführlicher mit Versionsangabe).
$ aptitude -v --show-summary=all-packages-with-dep-versions why foomatic-db Pakete, die foomatic-db erfordern: bluetooth E: bluez-cups H: cups E: foomatic-filters (>= 4.0) E: foomatic-db-engine (>= 4.0) E: foomatic-db cups-pdf H: cups E: foomatic-filters (>= 4.0) E: foomatic-db-engine (>= 4.0) E: foomatic-db printer-driver-gutenprint H: cups (>= 1.3.0) E: foomatic-filters (>= 4.0) E: foomatic-db-engine (>= 4.0) E: foomatic-db $
Bestehen hingegen keine Gründe für eine Installation oder aptitude
kann diese nicht zweifelsfrei ermitteln, liefert es die nachfolgende
Ausgabe – hier am Beispiel des Pakets libruby-extras:
Ausgabe von aptitude
zur Klärung der Installation (Variante 2).
$ aptitude why libruby-extras Kann keinen Grund für die Installation von libruby-extras finden. $
Das Gegenstück zum Unterkommando why
ist why-not
. aptitude
listet
damit den Grund auf, warum das Paket bislang nicht installiert oder
bereits wieder entfernt wurde. Nachfolgendes Beispiel zeigt das anhand
des Audioprogramms mplayer
. Dieses Paket wird von rtmpdump
vorgeschlagen, welches automatisch installiert wurde und vom Paket
youtube-dl empfohlen wird. Außerdem kollidieren die beiden Pakete
mplayer und mplayer2 miteinander, sodass im Bedarfsfall nur eines
von beiden auf ihrem System installiert sein darf.
Ausgabe von aptitude
zur Klärung der Installation (Variante 3).
$ aptitude why-not mplayer i youtube-dl Empfiehlt rtmpdump i A rtmpdump Schlägt vor mplayer p mplayer2 Liefert mplayer p mplayer2 Kollidiert mit mplayer $
Kann aptitude
keinen Grund für die Entfernung finden, meldet es sich
mit einer kurzen Meldung dazu zurück – hier am Beispiel des KDE Desktop
Managers aus dem Paket kdm:
Ausgabe von aptitude
zur Klärung der Installation (Variante 4).
$ aptitude why-not kdm Kann keinen Grund für die Entfernung von kdm finden. $