Apt-cache
Mit apt-cache können die verschiedensten Abfragen zu den bekannten Paketen (also auch zu den noch nicht installierten) erstellt werden.
- Dies beschränkt sich nicht nur auf Paketnamen oder die zu einem Paket gehörenden Dateinamen, sondern es können auch Informationen zu den Metadaten erfragt werden.
Wenn Sie nicht die Option -h oder --help benutzen, muss mindestens eines der folgenden Kommandos angegeben werden.
add | fügt die angegebene Package-Datei dem Package-Cache hinzu. | |
gencaches | Diese Option bewirkt das Gleiche wie apt-get check.
| |
showpkg | Diese Option zeigt Informationen über die weiterhin auf der Kommandozeile angegebenen Pakete.
Package: bash Versions: 2.05a-12(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_sid_main_binary-i386_Packages)(/var/lib/dpkg/status) 2.05a-11(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_woody_main_binary-i386_Packages) Reverse Depends: kernel-patch-ltt,bash 2.0 kernel-patch-lkcd,bash 2.0 kernel-patch-kdb,bash 2.0 kernel-patch-acl,bash 2.0 horde2,bash cron-apt,bash 2.03-6 common-lisp-controller,bash 2.04-9 cdcontrol,bash 2.0 bash-doc,bash 2.03-1 bash-builtins,bash 2.05a-12 base-files,bash 2.03-3 txt2regex,bash 2.04 openmosix,bash 2.0 mosix,bash 2.0 mkrboot,bash mason,bash kernel-patch-ulog,bash 2.0 kernel-patch-ttl,bash 2.0 kernel-patch-ltt,bash 2.0 kernel-patch-kiobuf-bigmem,bash 2.0 kernel-patch-kiobuf,bash 2.0 kernel-patch-kdb,bash 2.0 kernel-patch-irc,bash 2.0 kernel-patch-badram,bash 2.0 htmlheadline,bash 2.04-1 horde,bash 2.03-6 gopherweblink,bash gibraltar-bootsupport,bash foomatic-bin,bash 2.05 diffmon,bash 2.0 cron-apt,bash 2.03-6 common-lisp-controller,bash 2.04-9 colorgcc,bash cdcontrol,bash 2.0 bug,bash 2.04-1 bash-doc,bash 2.03-1 bash-builtins,bash 2.05a-11 base-files,bash 2.03-3 Dependencies: 2.05a-12 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) grep-dctrl (0 (null)) bash-completion (0 (null)) bash-doc (1 2.05-1) bash-completion (0 (null)) 2.05a-11 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) bash-completion (0 (null)) bash-doc (1 2.05-1) bash-completion (0 (null)) Provides: 2.05a-12 - 2.05a-11 - Reverse Provides: Es müssen also, damit dieses Paket funktioniert, mindestens die unter "Dependencies" aufgeführten Pakete installiert sein.
| |
stats | Über den aktuellen Cache wird eine Statistik ausgegeben.
fr@sushi:~$ apt-cache stats Total Package Names : 8953 (358k) Normal Packages: 6872 Pure Virtual Packages: 259 Single Virtual Packages: 176 Mixed Virtual Packages: 115 Missing: 1531 Total Distinct Versions: 9133 (438k) Total Dependencies: 47613 (1143k) Total Ver/File relations: 19322 (309k) Total Provides Mappings: 1889 (37.8k) Total Globbed Strings: 110 (1273) Total Dependency Version space: 179k Total Slack space: 86.3k Total Space Accounted for: 2374k Total Package Names - Anzahl der Paketnamen, die im Cache gefunden wurden. Normal Packages - Dies sind Pakete, deren Namen in einer Abhängigkeit zu einem anderen Paket stehen; hierunter fällt eine große Zahl der Pakete. Pure Virtual Packages - Anzahl der "virtuellen" Paketnamen im Cache.
Single Virtual Packages - Dies ist die Anzahl der Pakete, die ein virtuelles Paket zur Verfügung stellen, das aber nur einmal im Cache auftaucht.
Mixed Virtual Packages - Anzahl der Pakete, die sowohl als virtuelle als auch als reale Pakete vorhanden sind. debconf ist als reales Paket vorhanden, wird aber auch von debconf-tiny zur Verfügung gestellt. Missing - Pakete, die in einer Abhängigkeit benannt werden, aber nicht im Cache zu finden sind.
Total Distinct Versions - Die Anzahl der Paketversionen im Cache.
Total Dependencies - Die Anzahl der gesamten Abhängigkeiten zwischen allen Paketen im Cache. Total Ver/File relations - Die Gesamtzahl an Version/Datei-Beziehungen. Total Provides Mappings - Die Gesamtzahl an Bereitstellungen von Mappings. Total Globbed Strings - Gesamtanzahl von Mustern Total Dependency Version space - Gesamtmenge an Abhängigkeits/Versionsspeicher. Total Slack space - Gesamtmenge an Slack Speicher. Total Space Accounted for - Gesamtmenge des Speichers. | |
dump | Zeigt eine kurze Information zu jedem Paket an.
| |
dumpavail | Zeigt eine Liste der verfügbaren Pakete. | |
unmet | Zeigt eine Zusammenfassung aller nicht erfüllten Abhängigkeiten. | |
show | Hat einen ähnlichen Effekt wie das Kommando dpkg --print-avail und zeigt die Paketinformationen für die angegebenen Pakete. | |
search | Führt eine Volltextsuche über alle verfügbaren Paketdateien durch.
Mehrere Suchargumente können angegeben werden und werden dann über eine UND-Verknüpfung ausgewertet. | |
depends | Zeigt alle Abhängigkeiten eines Pakets an.
# apt-cache depends bash bash Depends: base-files PreDepends: libc6 PreDepends: libncurses5 Suggests: grep-dctrl Conflicts: <bash-completion> Replaces: bash-doc Replaces: <bash-completion> | |
policy | Die Option policy zeigt zu einem Paket die installierte sowie die verfügbaren Versionen aus den erreichbaren Quellen an.
# apt-cache policy bash bash: Installed: 2.05b-5 Candidate: 2.05b-5 Version Table: *** 2.05b-5 0 500 ftp://ftp.freenet.de sid/main Packages 100 /var/lib/dpkg/status 2.05b-3 0 500 ftp://ftp.freenet.de testing/main Packages 500 ftp://ftp.freenet.de sarge/main Packages 2.05a-11 0 500 ftp://ftp.freenet.de woody/main Packages | |
pkgnames | Zeigt eine Liste aller Paketnamen.
| |
dotty | Dieser Option kann eine Liste von Paketnamen mitgegeben werden.
Um die Grafik etwas zu verkleinern, kann die Zeile APT::Cache::GivenOnly "true"; in der APT-Konfigurationsdatei /etc/apt/apt.conf hinzugefügt werden.
Das Ergebnis ist eine Grafik, die unterschiedliche Symbole für Pakete verwendet.
Hier zwei kleine Beispiele dafür, wie diese Option sinnvoll eingesetzt werden kann: apt-cache dotty vim | dot -Tps > packgraph.ps apt-cache dotty $(dpkg --get-selections | grep -v deinstall \ |
dot -Tps > packgraph.ps |
apt-cache dotty vim - Beispiel
[Image:Grafik2.png|top]]
Beide Beispiele erzeugen eine Postscript-Datei packgraph.ps.
- Diese kann beispielsweise mit dem Programm gv angezeigt werden.
Suchen ohne apt-cache
Die aus der Bash-Shell bekannte Vervollständigung von Dateinamen (mittels TAB-Taste) kann auch auf Debian Pakete ausgeweitet werden.
- Hierzu ist die Datei /etc/bash_completion zu "sourcen", beispielsweise durch das Kommando source /etc/bash_completion.
- Nun kann auch apt-get install durch das Drücken der Taste TAB vervollständigt werden.
TMP
apt-cache
apt-cache führt keine Änderungen am System aus. Es dient allein der Anzeige und Manipulation der Daten im Paketcache bzw. der Paket-Metadaten.
Der Paketcache ist die interne Datenbank, in der Informationen zu allen verfügbaren Paketen gespeichert werden.
Kommandos
Ein apt-cache Befehl besteht aus den Optionen, dem Kommando und eventuell der Angabe eines Paketnamens. Generell kann man apt-cache als normaler Benutzer ausführen , vereinzelte Optionen können Root-Rechte erfordern.
apt-cache [Option(en)] Kommando [Paket]
Kommandos zu apt-cache | |
add | Fügt eine Datei mit Paketindizes dem Paketcache hinzu. |
gencaches | Baut den Paketcache auf. |
showpkg | Zeigt die Meta-Informationen an. |
stats | Zeigt Statistiken zum Paketcache an. |
showsrc | Zeigt Informationen zum Quelltext eines Pakets an. |
dump | Zeigt eine Liste aller laut Paketcache verfügbaren Pakete an. |
dumpavail | Zeigt eine ausführliche Liste aller laut Paketcache verfügbaren Pakete an. |
unmet | Zeigt eine Liste aller nicht erfüllten Abhängigkeiten an. |
show | Zeigt die Paketinformationen zu einem oder mehreren Paketen an. |
search | Durchsucht die Paketinformationen nach einem oder mehreren Suchbegriffen. |
depends | Zeigt eine Liste der Abhängigkeiten der Pakete. |
rdepends | Zeigt eine Liste der Pakete, die vom eingegebenen Paket abhängen. |
pkgnames | Zeigt eine Liste von Paketnamen, die mit dem Suchbegriff anfangen. |
dotty | Erstellt einen Graphen der Abhängigkeiten des Pakets, der mit dotty verarbeitet werden kann. |
xvcg | Erstellt einen Graphen der Abhängigkeiten des Pakets, der mit xvcg verarbeitet werden kann. |
policy | Zeigt die Prioritäten der Quellen oder eines Pakets an. |
madison | Zeigt die verfügbaren Versionen eines Pakets in den verschiedenen Quellen an. |
apt-cache add
add fügt einen in einer Datei gespeicherten Paketindex dem Paketcache hinzu. add fehlt in der deutschen Übersetzung der Manpage.
apt-cache add DATEI
apt-cache gencaches
gencache baut den Paketcache sowie die Liste der installierten Programme neu auf und prüft auf fehlende Abhängigkeiten.
Diese Aktion wird nach dem Download der Quellen durch apt-get update angestoßen. Der selbe Vorgang wird von apt-get check angestoßen. Erfordert Rootrechte.
sudo apt-cache gencaches
apt-cache showpkg
showpkg zeigt detaillierte Informationen zu einem Paket an. Sie bestehen aus den verschiedenen verfügbaren Versionen in allen Quellen sowie den eigentlichen Paketinformationen inklusive der Abhängigkeiten.
showpkg benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden. In diesem Fall werden die Informationen nacheinander ausgegeben.
apt-cache showpkg PAKET1 [PAKET2]
apt-cache stats
stats zeigt eine ausführliche Übersicht der Statistiken zum Paketcache an, unter anderem die Anzahl der gelisteten Pakete und die Größe im Dateisystem. Es sind keine weiteren Optionen erforderlich.
apt-cache stats
apt-cache showsrc
showsrc zeigt detaillierte Informationen zum verfügbaren Quelltext eines Pakets an.
Diese bestehen aus den Prüfsummen der Quelltextarchive und den Abhängigkeiten, die zum Kompilieren des Quelltexts benötigt werden. showsrc benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden. In diesem Fall werden die Informationen nacheinander ausgegeben.
apt-cache showsrc PAKET1 [PAKET2]
apt-cache dump
dump zeigt eine Liste aller verfügbaren Pakete im Paketcache an, inklusive der Abhängigkeiten und weiteren Informationen zum Paketcache. Diese Informationen werden nur im Fehlerfall benötigt.
apt-cache dump
apt-cache dumpavail
dumpavail zeigt eine Liste aller verfügbaren Pakete im Paketcache, der Programmversionen und der zugehörigen Paketbeschreibungen an.
apt-cache dumpavail
apt-cache unmet
unmet zeigt eine Liste der nicht erfüllten Abhängigkeiten an. Diese Liste beinhaltet auch die nicht installierten Vorschläge der Pakete. unmet kann mit und ohne Angabe von Paketnamen aufgerufen werden.
Wird unmet ohne Paketnamen aufgerufen, werden die Informationen für alle installierten Paket(e) ausgegeben.
Gibt man bestimmte Paketnamen an, müssen diese durch Leerzeichen getrennt angegeben werden.
apt-cache unmet apt-cache unmet PAKET1 [PAKET2]
apt-cache show
show zeigt detaillierte Informationen zu einem oder mehreren Paketen an.
Diese Informationen beinhalten eine Liste der Abhängigkeiten, eine Beschreibung und die angebotene Version. show benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden.
In diesem Fall werden die Informationen nacheinander ausgegeben.
apt-cache show PAKET1 [PAKET2]
apt-cache search
search durchsucht den Paketcache in den Namen und Beschreibungsfeldern nach dem Suchbegriff und gibt die entsprechenden Paketnamen aus.
Der Suchbegriff kann auch ein Regulärer Ausdruck sein. Werden mehrere Suchbegriffe angegeben, werden ausschließlich Pakete angeben, in deren Beschreibung alle Begriffe gefunden wurden.
apt-cache search SUCHBEGRIFF
apt-cache depends
depends gibt eine Liste der Pakete an, von denen das genannte Paket abhängt. depends benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden. In diesem Fall werden die Informationen nacheinander ausgegeben.
apt-cache depends PAKET1 [PAKET2]
apt-cache rdepends
rdepends gibt eine Liste der Pakete an, die vom genannten Paket abhängen, die Reverse Depends (Rückwärtsabhängigkeiten).
rdepends benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden.
In diesem Fall werden die Informationen nacheinander ausgegeben.
apt-cache rdepends PAKET1 [PAKET2]
apt-cache pkgnames
pkgnames gibt zu einem Suchbegriff eine Liste von Paketen aus, deren Namen mit dem Suchbegriff anfangen. Der Suchbegriff darf kein Regulärer Ausdruck sein.
Wird pkgnames ohne Suchbegriff aufgerufen, gibt es alle verfügbaren Pakete inklusive der Metapakete aus.
apt-cache pkgnames SUCHBEGRIFF
apt-cache dotty
dotty erstellt aus den Abhängigkeiten der genannten Pakete eine Vorlage, die mit dot zu einem Graph weiterverarbeitet werden kann.
Die Nutzung ist mit einer Ausgabeumleitung sinnvoll. dotty benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden.
apt-cache dotty PAKET1 [PAKET2]
Auswertung von dotty
Zur Umwandlung der Ausgabe wird dot aus dem Paket Graphviz - Graph Visualization Software genutzt:
sudo apt-get install graphviz
Dotty kann keine größeren Zusammenhänge darstellen. Um die Berechnung in Grenzen zu halten, hilft folgende APT-Einstellung:
APT::Cache::GivenOnly "true";
in der APT-Konfiguration.
Die Option kann aber auch direkt beim Aufruf übergeben werden.
apt-cache xvcg
xvcg erstellt aus den Abhängigkeiten der genannten Pakete eine Vorlage, die mit xvcg zu einem Graph weiterverarbeitet werden kann.
Die Nutzung ist mit einer Ausgabeumleitung sinnvoll. xvcg benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden. Die Weiterverarbeitung benötigt die VCG Tools.
apt-cache xvcg PAKET1 [PAKET2]
apt-cache policy
policy zeigt ohne Angabe eines Paketnamens eine Übersicht der Prioritäten der einzelnen Paketquellen an, mit Angabe von Paketnamen eine Übersicht der verfügbaren Versionen und der Prioritäten ihrer Quellen.
Mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden. In diesem Fall werden die Informationen nacheinander ausgegeben.
apt-cache policy
oder
apt-cache policy PAKET1 [PAKET2]
apt-cache madison
madison zeigt eine tabellarische Übersicht, der in den Paketquellen verfügbaren Versionen eines Programms, an. madison benötigt die Angabe mindestens eines Paketnamens, mehrere Paketnamen müssen durch Leerzeichen voneinander getrennt angegeben werden.
In diesem Fall werden die Informationen nacheinander ausgegeben.
apt-cache madison PAKET1 [PAKET2]
Optionen
Kommandozeilenoptionen zu apt-cache | ||
Lange Option | Kürzel | Beschreibung |
--pkg-cache | -p | Angabe der Datei, in der der Paketcache gespeichert wird. |
--src-cache | -s | Angabe der Datei, in der der Paketcache beim Herunterladen zwischengespeichert wird. |
--quiet | -q | Ausgabe erzeugen, die weiterverarbeitet werden kann, beispielsweise Unterdrückung des Fortschrittsbalkens. -qq unterdrückt mehr Meldungen als -q. |
--important | -i | Nur Abhängigkeiten und deren Abhängigkeiten in unmet und depends anzeigen. |
--no-pre-depends --no-depends --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances | Beeinflussen die Ausgabe von depends und rdepends | |
--full | -f | Ausgabe der kompletten Paketeinträge bei der Suche. |
--all-versions | -a | Ausgabe aller verfügbaren Versionen (Kandidaten) bei der Suche nach einem Paket. |
--no-all-versions | Ausgabe der neuesten verfügbaren Version (Kandidat) bei der Suche nach einem Paket. | |
--generate | -g | Cache wird bei jedem Aufruf regeneriert. (Standard) |
--no-generate | Cache wird ohne automatische Regeneration benutzt. | |
--names-only | -n | Beschränkt die Suche auf die Paketnamen. Standard: Suche in Paketnamen und -beschreibung. |
--all-names | Zwingt pkgnames, auch virtuelle Pakete und fehlende Abhängigkeiten auszugeben. | |
--recurse | Ermöglicht depends und rdepends eine rekursive Ausgabe, so dass alle Abhängigkeiten in einer Ausgabe erscheinen. | |
--installed | Beschränkt die Ausgabe von depends und rdepends auf installierte Pakete. | |
--help | -h | Gibt einen kurzen Hilfetext aus und beendet das Programm. |
--version | -v | Gibt die Version aus und beendet das Programm. |
--config-file | -c | Ermöglicht die Angabe einer alternativen Konfigurationsdatei, die von der Standardkonfiguration abweicht. |
--option | -o | Ermöglicht die Angabe einzelner abweichender Optionen bei Benutzung der Standardkonfiguration. |
Beispiele
Bezug zu einem Paket
Steht ein Paket im Bezug zu einem anderen Paket, wird dies im Beschreibungstext erwähnt.
apt-cache -f search PROGRAMM
sucht nach Programm in allen Paketnamen und -beschreibungen und gibt anschließend die kompletten Informationen aus.
Erweiterungspakete
Durch konsequente Namensgebung Programm-Erweiterung können verfügbare Erweiterungen mit pkgnames gefunden werden:
apt-cache pkgnames PROGRAMM
gibt alle Paketnamen aus, die mit Programm anfangen, somit auch die verfügbaren Erweiterungen.
Ausgabe der Abhängigkeiten eines Pakets
apt-cache depends PAKET
Ausgabe der Paketstruktur mit dotty
Im Beispiel wird das Paket xterm untersucht und der Graph als PNG ausgegeben.
apt-cache -o APT::Cache::GivenOnly=true dotty xterm | dot -Tpng > beispiel.png
Die Ausgabe von apt-cache wird mit einer Umleitung an das Graphviz-Werkzeug dot übergeben, um eine Grafik (hier im PNG-Format, andere Formate sind möglich, siehe Manpage von dot) zu erzeugen.
Oder auch mit rekursiven Abhängigkeiten:
export PACKAGE=xterm && apt-cache -o APT::Cache::GivenOnly=true dotty $PACKAGE `apt-cache depends $PACKAGE --installed| grep "Hängt ab von:" | cut -d " " -f6` | dot -Tpng > beispiel.png