Apt-cache: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 154: Zeile 154:
|| Führt eine Volltextsuche über alle verfügbaren Paketdateien durch.
|| Führt eine Volltextsuche über alle verfügbaren Paketdateien durch.
* Es können reguläre Ausdrücke benutzt werden.
* Es können reguläre Ausdrücke benutzt werden.
* Die Paketnamen und Beschreibungen werden nach dem Suchbegriff durchsucht, und es werden der Paketname und die Kurzbeschreibung der entsprechenden Pakete ausgegeben.
* Die Paketnamen und Beschreibungen werden nach dem Suchbegriff durchsucht, und es werden der Paketname und die Beschreibung der entsprechenden Pakete ausgegeben.
* Wenn die Option <tt>--full</tt> angegeben wird, entspricht die Ausgabe der von <tt>show</tt>.
* Wenn die Option <tt>--full</tt> angegeben wird, entspricht die Ausgabe der von <tt>show</tt>.
* Mit der Option <tt>--names-only</tt> wird die Paketbeschreibung nicht durchsucht; die Suche beschränkt sich auf den Paketnamen.
* Mit der Option <tt>--names-only</tt> wird die Paketbeschreibung nicht durchsucht; die Suche beschränkt sich auf den Paketnamen.
Zeile 236: Zeile 236:
* Hierzu ist die Datei <tt>/etc/bash_completion</tt> zu „sourcen“, beispielsweise durch das Kommando <tt>source /etc/bash_completion</tt>.
* Hierzu ist die Datei <tt>/etc/bash_completion</tt> zu „sourcen“, beispielsweise durch das Kommando <tt>source /etc/bash_completion</tt>.
* Nun kann auch <tt>apt-get install </tt>durch das Drücken der Taste '''TAB''' vervollständigt werden.
* Nun kann auch <tt>apt-get install </tt>durch das Drücken der Taste '''TAB''' vervollständigt werden.
[[Kategorie:Apt]]
[[Kategorie:APT]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Befehl]]

Aktuelle Version vom 19. Oktober 2024, 13:31 Uhr

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.
  • Es werden die Source- und Package-Caches aus den Informationen in /etc/apt/sources.list und /var/lib/dpkg/status erstellt.
showpkg Diese Option zeigt Informationen über die weiterhin auf der Kommandozeile angegebenen Pakete.
  • Es werden die verfügbaren Versionen der Pakete sowie die gesamten Abhängigkeiten dieser Pakete angezeigt.
  • Hierbei wird zwischen so genannten „Forward“-Dependencies und „Reverse“-Dependencies unterschieden.
  • Forward-Dependencies (dies sind die im normalen Sprachgebrauch verwendeten Abhängigkeiten) beziehen sich auf die Pakete, die das angefragte Paket benötigt, um einwandfrei zu funktionieren.
  • Reverse-Dependecies beschreiben die Pakete, die das angefragte Paket benötigen, um zu funktionieren.
  • Ein Beispiel: apt-cache showpkg bash gibt folgendes Ergebnis aus:
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.

  • Eine weitere wichtige Information sind die „Reverse Depends“.
  • Dies sind Pakete, die von diesem Paket (bash) abhängen.
stats Über den aktuellen Cache wird eine Statistik ausgegeben.
  • Es sind keine weiteren Argumente notwendig.
  • Folgende Informationen werden 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.

  • Dies sind Pakete, die ein Paket zur Verfügung stellen, deren Name aber nichts mit diesem zu tun hat.
  • Als Beispiel sei hier mail-transport-agent genannt: Einige Pakete (beispielsweise exim, qmail und sendmail) stellen das Paket mail-transport-agent zur Verfügung, es gibt aber kein Programm mit dem Namen mail-transport-agent.

Single Virtual Packages - Dies ist die Anzahl der Pakete, die ein virtuelles Paket zur Verfügung stellen, das aber nur einmal im Cache auftaucht.

  • Das virtuelle Paket X11-text-viewer wird beispielsweise nur von xless zur Verfügung gestellt.

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.

  • Dies kann vorkommen, wenn kein Zugriff auf eine komplette Debian Distribution gegeben ist oder wenn Pakete aus der Distribution entfernt wurden.

Total Distinct Versions - Die Anzahl der Paketversionen im Cache.

  • Diese ist im Normalfall gleich der Anzahl der gesamten Pakete.
  • Wenn jedoch zwei Distributionen (beispielsweise „stable“ und „testing“) benutzt werden, kann es vorkommen, dass mehrere Versionen eines Pakets verfügbar sind.
  • In diesem Fall kann die Zahl deutlich über der der gesamten Pakete liegen.

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.
  • Dies ist für den normalen Benutzer wenig sinnvoll und ist zur Fehlersuche für Entwickler gedacht.
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.
  • Es können reguläre Ausdrücke benutzt werden.
  • Die Paketnamen und Beschreibungen werden nach dem Suchbegriff durchsucht, und es werden der Paketname und die Beschreibung der entsprechenden Pakete ausgegeben.
  • Wenn die Option --full angegeben wird, entspricht die Ausgabe der von show.
  • Mit der Option --names-only wird die Paketbeschreibung nicht durchsucht; die Suche beschränkt sich auf den Paketnamen.

Mehrere Suchargumente können angegeben werden und werden dann über eine UND-Verknüpfung ausgewertet.

depends Zeigt alle Abhängigkeiten eines Pakets an.
  • Weiterhin werden alle anderen Pakete angezeigt, die die geforderten Abhängigkeiten erfüllen können.
# 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.
  • Optional kann eine Zeichenkette angegeben werden, die als Suchpräfix verwendet wird.
dotty Dieser Option kann eine Liste von Paketnamen mitgegeben werden.
  • Die Ausgabe erfolgt in einem Format, das vom Programm dot aus dem Paket GraphVis (http://www.research.att.com/sw/tools/graphviz/) gelesen werden kann.
  • GraphVis ist auch als Debian Paket verfügbar, kann also mittels apt-get installiert werden.
  • Mit dieser Option und dem Programm dot kann eine grafische Darstellung der Paketabhängigkeiten erstellt werden.
  • Normalerweise werden alle Abhängigkeiten verfolgt, was zu sehr großen Dateien führen kann.

Um die Grafik etwas zu verkleinern, kann die Zeile

APT::Cache::GivenOnly "true";

in der APT-Konfigurationsdatei /etc/apt/apt.conf hinzugefügt werden.

  • Dies bewirkt, dass nur die auf der Kommandozeile angegebenen Pakete ausgewertet werden.
  • Es kann passieren, dass eine sehr lange Liste von Paketen zum Abbruch des Programmes führt.

Das Ergebnis ist eine Grafik, die unterschiedliche Symbole für Pakete verwendet.

  • Normale Pakete werden als schwarzes Rechteck dargestellt.
  • Direkt abhängige Pakete (provides) werden als Trapez dargestellt.
  • Diamant-förmige Pakete sind mixed-provides, und fehlende Pakete werden als Hexagon dargestellt.
  • Orange-farbene Rechtecke bedeuten, dass die rekursive Suche abgebrochen wurde.
  • Blaue Linien stellen Pre-Dependencies dar, und grüne Linien stehen für Konflikte.

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.