// Datei: ./werkzeuge/paketoperationen/paketabhaengigkeiten-anzeigen.adoc

// Baustelle: Fertig

[[paketabhaengigkeiten-anzeigen]]

=== Paketabhängigkeiten anzeigen ===

// Stichworte für den Index
(((Paket, Abhängigkeiten anzeigen)))
(((Paketabhängigkeiten, verstehen)))
Wie in der Einführung zum Buch bereits genannt, besteht Debian aus einer
riesigen Menge einzelner Pakete. Dabei werden größere, komplexe
Funktionalitäten in kleine, separate Bausteine zerlegt. Diese Bausteine
sind als einzelne `deb`-Pakete verfügbar, die häufig einander bedingen.
In der Paketbeschreibung jedes `deb`-Pakets ist der Bezug zu den anderen
Paketen hinterlegt -- die Paketabhängigkeiten. Wie diese konkret
formuliert werden, lesen Sie unter ``Debian-Paketformat im Detail'' in
<<debian-paketformat-im-detail>> nach.

Vor der Veränderung des Paketbestands – d.h. dem Hinzufügen, Entfernen
und Aktualisieren eines oder mehrerer Pakete – prüfen APT und
`aptitude`, ob diese Paketabhängigkeiten nach den Änderungen des Bestand
auf ihrem System weiterhin erfüllt sind. Die Abhängigkeiten müssen
erfüllt sein, damit Ihr Linuxsystem weiterhin zuverlässig funktioniert
und dieses für Sie benutzbar bleibt.

Sind die Abhängigkeiten jedoch nicht erfüllt, weigern sich APT und
`aptitude` zunächst, Software einzuspielen. Sie zeigen Ihnen an, welche
Pakete und Einzelschritte erforderlich sind, die zur Wiedererlangung
eines sauberen Paketbestands durchzuführen sind. Nur mit etwas Nachdruck
können Sie den Zustand auf eigene Verantwortung hin übergehen -- mehr
dazu erfahren Sie in ``Paketoperationen erzwingen'' in
<<paketoperationen-erzwingen>>.

==== Die Abhängigkeiten eines Pakets auflisten ====

// Stichworte für den Index
(((apt-cache, depends)))
(((apt-cache, show)))
(((apt-rdepends)))
(((dpkg-deb, -f)))
(((dpkg-deb, --field)))
(((Debianpaket, apt-rdepends)))
(((Debianpaket, dctrl-tools)))
(((Debianpaket, dpkg)))
(((grep-aptavail)))
(((grep-status)))
(((Paketabhängigkeiten, auflisten)))
Hier sehen Sie, von welchen weiteren Paketen ein Paket abhängt. Zu
dieser Information gelangen Sie mit mehreren Werkzeugen. Dazu zählen
`dpkg-deb`, `apt-cache` mit den beiden Unterkommandos `show` und
`depends`, `aptitude` mit speziellen Suchoptionen, `apt-rdepends` sowie
`grep-aptavail` und `grep-status` aus dem Paket 'dctrl-tools'
<<Debian-Paket-dctrl-tools>>. Als weitere Information benötigen die
genannten Programme noch den Namen des Pakets, zu dem es die
Paketabhängigkeiten ausgeben sollen. Die nachfolgenden Ausgaben
illustrieren die Wirkung anhand des Pakets 'xpdf'.

// Warnhinweis
include::paketabhaengigkeiten-warnung.adoc[]

===== Ausgabe der Paketabhängigkeiten mit `dpkg-deb` =====

// Stichworte für den Index
(((dpkg, -f)))
(((dpkg, --field)))
(((dpkg-deb, -f)))
(((dpkg-deb, --field)))
(((Debianpaket, dpkg)))

Das Kommando `dpkg-deb` ist Bestandteil des essentiellen Pakets 'dpkg'
<<Debian-Paket-dpkg>>. Über den Schalter `-f` (Langform `--field`) und
der Angabe des Feldnamens liest es die Paketinformationen und gibt
anschließend den Inhalt des spezifizierten Feldes aus. Das ist identisch
zum Aufruf von `dpkg -f` (Langform `dpkg --field`). 

Beachten Sie bitte beim Aufruf die etwas unintuitiven Abfolge der
Parameter -- erst den Schalter, danach den Dateinamen der `deb`-Datei
und am Ende der Feldname. Für diese Information muss das entsprechende
Paket nicht auf ihrem System installiert sein, sondern nur als Datei in
einem Verzeichnis liegen und erreichbar sein.

.Ausgabe der Abhängigkeiten mittels `dpkg-deb`
----
$ dpkg-deb -f xpdf_3.03-17+b1_amd64.deb Depends
libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libpoppler46 (>= 0.26.2), libstdc++6 (>= 4.1.1), libx11-6, libxm4 (>= 2.3.4), libxt6
$
----

===== Ausgabe der Paketabhängigkeiten mit `apt-cache` =====

// Stichworte für den Index
(((apt-cache, show)))

*Variante 1* verfolgt einen typischen UNIX-Ansatz -- es kombiniert die
beiden Werkzeuge `apt-cache` und `grep` miteinander. Dazu filtert es die
Ausgabe der vollständigen Paketinformationen, wie es `apt-cache` mit dem
Unterkommando `show` liefert. Über eine Pipe und mittels `grep` filtert
es danach die Zeile mit den Abhängigkeiten heraus, die mit dem
Schlüsselwort `Depends` beginnt. Für diese Information muss das
entsprechende Paket nicht auf ihrem System installiert sein, sondern nur
in der Paketdatenbank als Paket gelistet sein.

.Suche mittels `grep` in der Ausgabe von `apt-cache`
----
$ apt-cache show xpdf | grep Depends
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libpoppler46 (>= 0.26.2), libstdc++6 (>= 4.1.1), libx11-6, libxm4 (>= 2.3.4), libxt6
$
----

// Stichworte für den Index
(((apt-cache, depends)))

*Variante 2* verwendet das spezifische Unterkommando `depends`.
`apt-cache` gibt jedes benötigte Debianpaket in einer einzelnen Zeile in
alphabetisch aufsteigender Reihenfolge und ohne die Versionsnummer aus.
Für diese Information muss das entsprechende Paket nicht auf ihrem
System installiert sein, aber in der Paketdatenbank gelistet sein.

.Detaillierte Ausgabe der Paketabhängigkeiten
----
$ apt-cache depends xpdf
xpdf
  Hängt ab von: libc6
  Hängt ab von: libgcc1
  Hängt ab von: libpoppler46
  Hängt ab von: libstdc++6
  Hängt ab von: libx11-6
  Hängt ab von: libxm4
  Hängt ab von: libxt6
  Empfiehlt: poppler-utils
    poppler-utils:i386
  Empfiehlt: poppler-data
  Empfiehlt: gsfonts-x11
  Empfiehlt: cups-bsd
    cups-bsd:i386
  Kollidiert mit: <xpdf-common>
  Kollidiert mit: <xpdf-common:i386>
  Kollidiert mit: <xpdf-reader>
  Kollidiert mit: <xpdf-reader:i386>
  Ersetzt: <xpdf-common>
  Ersetzt: <xpdf-common:i386>
  Ersetzt: <xpdf-reader>
  Ersetzt: <xpdf-reader:i386>
  Kollidiert mit: xpdf:i386
$
----

// Stichworte für den Index
(((apt-cache, depends -i)))
(((apt-cache, depends --important)))
(((apt-cache, depends --installed)))
(((apt-cache, depebds --no-breaks)))
(((apt-cache, depends --no-conflicts)))
(((apt-cache, depends --no-depends)))
(((apt-cache, depends --no-enhances)))
(((apt-cache, depends --no-pre-depends)))
(((apt-cache, depends --no-recommends)))
(((apt-cache, depends --no-replaces)))
(((apt-cache, depends --no-suggests)))
(((apt-cache, depends --recurse)))
(((Paketabhängigkeiten, Auflistung einschränken)))
Ohne weitere Optionen enthält die Ausgabe alle Abhängigkeiten,
Empfehlungen und Konflikte zu dem Paket. Mit den folgenden Optionen
spezifizieren Sie die Ausgabe noch genauer.

`-i` (Langform `--important`):: 
Einschränkung auf die wichtigen Abhängigkeiten, d.h. nur unerfüllte
('unmet') und direkte Abhängigkeiten ('depends' und 'pre-depends'). Es
entspricht damit exakt den Angaben im Feld `Depends` der
Paketinformationen.

.Beschränkung auf die wichtigen Abhängigkeiten mittels `-i`
----
$ apt-cache depends -i xpdf
xpdf
  Hängt ab von: libc6
  Hängt ab von: libgcc1
  Hängt ab von: libpoppler46
  Hängt ab von: libstdc++6
  Hängt ab von: libx11-6
  Hängt ab von: libxm4
  Hängt ab von: libxt6
$
----

`--no-pre-depends`:: 
blendet die Pakete aus, die vorher installiert sein müssen

`--no-depends`:: 
direkte Abhängigkeiten ausblenden

`--no-recommends`:: 
die Empfehlungen für weitere Pakete ausblenden

`--no-suggests`:: 
Angaben für Vorschläge werden unterdrückt

`--no-conflicts`:: 
blendet die Pakete aus, die mit dem Paket in Konflikt stehen, d.h. nicht gleichzeitig installiert sein dürfen

`--no-breaks`:: 
blendet die Pakete aus, die das Paket funktionsunfähig machen

`--no-replaces`:: 
Pakete, die das aktuelle Paket ersetzen, werden nicht angezeigt

`--no-enhances`:: 
Pakete, die das aktuelle Paket erweitern, werden nicht angezeigt

`--installed`:: 
begrenzt die Ausgabe nur auf die installierten Pakete

`--recurse`:: 
führt die Unterkommandos `depends` und `rdepends` rekursiv aus, so dass
alle erwähnten Pakete einmal ausgegeben werden. Diese Liste kann sehr
lang sein.

// Stichworte für den Index
(((apt-cache, depends --no-depends)))
Die nachfolgende Ausgabe grenzt die Auflistung auf die Pakete ein, die
lediglich als Vorschlag oder Empfehlung hinterlegt sind. Im Aufruf
nutzen Sie dafür die Option `--no-depends`.

.Ausgabe der vorgeschlagenen und empfohlenen Pakete zu 'xpdf'
----
$ apt-cache depends xpdf --no-depends
xpdf
  Empfiehlt: poppler-utils
    poppler-utils:i386
  Empfiehlt: poppler-data
  Empfiehlt: gsfonts-x11
  Empfiehlt: cups-bsd
    cups-bsd:i386
  Kollidiert mit: <xpdf-common>
  Kollidiert mit: <xpdf-common:i386>
  Kollidiert mit: <xpdf-reader>
  Kollidiert mit: <xpdf-reader:i386>
  Ersetzt: <xpdf-common>
  Ersetzt: <xpdf-common:i386>
  Ersetzt: <xpdf-reader>
  Ersetzt: <xpdf-reader:i386>
  Kollidiert mit: xpdf:i386
$
----

===== Recherche mit `apt-rdepends` =====

// Stichworte für den Index
(((apt-rdepends)))
(((Debianpaket, apt-rdepends)))
Deutlicher wird `apt-rdepends` aus dem gleichnamigen Paket. Es löst die
Abhängigkeiten noch weitaus stärker auf. Nachfolgende Darstellung zeigt
daher nur einen Ausschnitt. Für diese Information muss das entsprechende
Paket nicht auf ihrem System installiert sein, aber in der
Paketdatenbank gelistet sein.

.Ausgabe der Paketabhängigkeiten mit `apt-rdepends` (Ausschnitt)
----
$ apt-rdepends xpdf | more
xpdf
  Depends: libc6 (>= 2.4)
  Depends: libgcc1 (>= 1:4.1.1)
  Depends: libpoppler46 (>= 0.26.2)
  Depends: libstdc++6 (>= 4.1.1)
  Depends: libx11-6
  Depends: libxm4 (>= 2.3.4)
  Depends: libxt6
libc6
  Depends: libgcc1
libgcc1
  Depends: gcc-4.9-base (= 4.9.2-10)
...
$
----

// Stichworte für den Index
(((apt-rdepends, -d)))
(((dotty)))
(((Debianpaket, graphviz)))
(((Paketabhängigkeiten, graphisch darstellen)))
Das Ergebnis von `apt-rdepends` wird vielleicht leichter verständlich,
wenn Sie die Paketabhängigkeiten graphisch darstellen. Bei der
Veranschaulichung hilft Ihnen das Programm `dotty` aus dem Paket
'graphviz' <<Graphviz>>. Für das Paket 'tcpdump' sieht der Aufruf wie
folgt aus.

.Erzeugung der Abhängigkeiten als `dot`-Datei
----
$ apt-rdepends -d tcpdump | dot > tcpdump.dot
Reading package lists... Done
Building dependency tree       
Reading state information... Done
$
----

Das Ergebnis der von `apt-rdepends` zu `dot` weitergeleiteten und in der
Datei `tcpdump.dot` abgespeicherten Relationsmenge zeigen Sie
mit dem Programm `dotty` an (siehe <<fig.tcpdump-apt-rdepends>>).

.Aufruf von `dotty`
----
$ dotty tcpdump.dot
$
----

.Darstellung der umgekehrten Paketabhängigkeiten mit `dotty`
image::werkzeuge/paketoperationen/tcpdump-apt-rdepends.png[id="fig.tcpdump-apt-rdepends", width="50%"]

===== Ausgabe der Paketabhängigkeiten mit `aptitude` =====

// Stichworte für den Index
(((aptitude, search ~R)))
(((aptitude, search ?reverse-depends)))
`aptitude` versteht eine Reihe von speziellen Suchmustern. Eines davon
ist `~Rmuster` als Abkürzung für die Langform
`?reverse-depends(`'Paketname'`)`, welches Sie mit dem Unterkommando
`search` kombinieren. 'muster' bezeichnet hier den Namen oder das
Textfragment eines Pakets. Für diese Information muss das entsprechende
Paket nicht auf ihrem System installiert sein, aber in der
Paketdatenbank gelistet sein.

Mit dem nachfolgenden Aufruf erhalten Sie alle Pakete, die 'xpdf'
benötigt. Es entspricht dem Aufruf `apt-cache depends -i xpdf`. Die
Ausgabe beinhaltet nur die notwendigen Abhängigkeiten ohne weitere
Empfehlungen. Analog zur Ausgabe von `dpkg` umfaßt die verwendete
Darstellungsform den Installationsstatus, den Namen und die
Kurzbeschreibung des Pakets (siehe dazu ``Liste der installierten Pakete
anzeigen und deuten'' in
<<liste-der-installierten-pakete-anzeigen-und-deuten>>).

.Anzeige der Paketabhängigkeiten mit `aptitude`
----
$ aptitude search '~Rxpdf'
i   libc6                           - GNU C-Bibliothek: Dynamische Bibliotheken 
i   libgcc1                         - GCC Support-Bibliothek                    
i A libpoppler46                    - Bibliothek zur PDF-Darstellung            
i   libstdc++6                      - GNU-Implementierung der Standard-C++-Bibli
i A libx11-6                        - Clientseitige X11-Bibliothek              
i A libxm4                          - Motif - X/Motif shared library            
i A libxt6                          - X11-Bibliothek mit wesentlichen Werkzeugen
$
----

===== Ausgabe der Paketabhängigkeiten mit `grep-status` =====

// Stichworte für den Index
(((grep-aptavail, -F)))
(((grep-aptavail, -P)))
(((grep-aptavail, -s)))
(((grep-status, -F)))
(((grep-status, -P)))
(((grep-status, -s)))
(((Debianpaket, dctrl-tools)))

Die beiden Werkzeuge `grep-aptavail` und `grep-status` aus dem Paket
'dctrl-tools' <<Debian-Paket-dctrl-tools>> filtern die gewünschten
Felder aus der Paketbeschreibung heraus. Während `grep-status` eher die
Sichtweise von `dpkg` benutzt und sich nur auf die (jemals)
installierten Pakete in der aktuellen Architektur bezieht, entspricht
`grep-aptavail` eher `aptitude` und durchsucht alle lokalen Paketlisten.
Benutzen Sie bspw. mehrere Archtekturen (Multiarch), erhalten Sie einen
Suchtreffer pro Paketliste der Architektur.

Für diese Information muss das entsprechende Paket nicht auf ihrem
System installiert sein, aber in der Paketdatenbank gelistet sein.

Im nachfolgenden Aufruf kommen `-F Package` zum Abgleich des Musters mit
dem Paketnamen und `-s Depends` zur Ausgabe des Feldes für die
Paketabhängigkeiten zum Einsatz.

.Ausgabe der Paketabhängigkeiten mit `grep-status`
----
$ grep-status -F Package -s Depends xpdf
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libpoppler46 (>= 0.26.2), libstdc++6 (>= 4.1.1), libx11-6, libxm4 (>= 2.3.4), libxt6
$
----

// Stichworte für den Index
(((grep-aptavail, -F Package)))
(((grep-aptavail, -P)))

Eine kürzere Schreibweise erlaubt der Schalter `-P`, welcher dem
Schalter `-F Package` entspricht. Nachfolgende Ausgabe zeigt
`grep-aptavail` mit den Feldern für die Paketabhängigkeit (`Depends`),
den Paketnamen (`Package`) und die Architektur (`Architecture`).

.Ausgabe der Paketabhängigkeiten mit `grep-aptavail`
----
$ grep-aptavail -P -s Package,Depends,Architecture xpdf
Package: xpdf
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libpoppler46 (>= 0.26.2), libstdc++6 (>= 4.1.1), libx11-6, libxm4 (>= 2.3.4), libxt6
Architecture: amd64

Package: xpdf
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libpoppler46 (>= 0.26.2), libstdc++6 (>= 4.1.1), libx11-6, libxm4 (>= 2.3.4), libxt6
Architecture: i386

$
----

==== Anzeige der umgekehrten Paketabhängigkeiten ====

// Stichworte für den Index
(((apt-cache, rdepends)))
(((apt-rdepends)))
(((Debianpaket, apt-rdepends)))
(((Paket, Rückwärtsabhängigkeiten auflisten)))
(((Paketabhängigkeiten, Rückwärtsabhängigkeiten auflisten)))

Diese Aktivität übersetzen Sie mit der Frage ``Welche anderen Pakete
benötigen Paket 'x'?'', auch genannt 'Rückwärtsabhängigkeit'. Zur
Beantwortung der Frage helfen Ihnen einerseits wiederum `apt-cache` mit
dem Unterkommando `depends`, andererseits das Kommando `apt-rdepends`
aus dem gleichnamigen Paket 'apt-rdepends' <<Debian-Paket-apt-rdepends>>
und auch `aptitude` selbst weiter.

// Warnhinweis
include::paketabhaengigkeiten-warnung.adoc[]

===== Recherche mit `apt-cache` =====

// Stichworte für den Index
(((apt-cache, rdepends)))

Über das Unterkommando `rdepends` zeigt `apt-cache` alle Pakete an.
Pakete, die von weiteren Paketen abhängen, sind in der Ausgabe von
`apt-cache` mit einem senkrechten Strich (``Pipe'') gekennzeichnet.
Für diese Information muss das entsprechende Paket nicht auf ihrem
System installiert sein, aber in der Paketdatenbank gelistet sein.

.Ausgabe der umgekehrten Paketabhängigkeiten mit `apt-cache` für das Paket 'xpdf'
----
$ apt-cache rdepends xpdf
xpdf
Reverse Depends:
 |xmds-doc
  xfe
  wiipdf
 |vim-latexsuite
  python-scapy
 |ruby-tioga
 |python-tables-doc
 |page-crunch
 |octave-doc
 |muttprint-manual
  mozplugger
  mlpost
  libmlpost-ocaml-dev
 |mc
 |libjgoodies-forms-java-doc
 |libinventor1
 |gprolog-doc
 |geomview
  libfontconfig1
  eficas
 |auctex
$
----

===== Recherche mit `apt-rdepends` =====

// Stichworte für den Index
(((apt-rdepends, -r)))
(((Debianpaket, apt-rdepends)))
`apt-rdepends` löst die Abhängigkeiten der Pakete zueinander noch
weitaus stärker auf. Für diese Information muss das entsprechende Paket
nicht auf ihrem System installiert sein, aber in der Paketdatenbank
gelistet sein.

.Ausgabe der umgekehrten Paketabhängigkeiten mit `apt-rdepends`
----
$ apt-rdepends -r xpdf
Reading package lists... Done
Building dependency tree       
Reading state information... Done
xpdf
  Reverse Depends: eficas (6.4.0-1-1.1)
  Reverse Depends: muttprint-manual (0.73-5.1)
  Reverse Depends: wiipdf (1.4-2)
eficas
muttprint-manual
wiipdf
$
----

===== Recherche mit `aptitude` =====

// Stichworte für den Index
(((aptitude, search ~D)))
(((aptitude, search ?depends)))
Mit einer Reihe von speziellen Suchmustern zum Unterkommando `search`
unterstützt Sie `aptitude` bei der Recherche in der
Paketdatenbank. Eines davon ist `~D`'muster' und dessen Langform
`?depends(`'muster'`)`. Sie suchen in den
Abhängigkeiten{empty}footnote:[Engl. 'Dependencies'; ohne weitere
Angaben wird in den Abhängigkeiten des Feldes `Depends` gesucht.] aller
Pakete nach dem regulrären Ausdruck 'muster'. Dabei findet es nicht nur
vollständige Paketnamen sondern auch Bestandteile von Paketnamen. Für
diese Information muss das entsprechende Paket nicht auf ihrem System
installiert sein, aber in der Paketdatenbank vorhanden sein.

Um beispielsweise alle Pakete zu erhalten, die eine Abhängigkeit auf ein
Paket mit der Zeichenkette 'xpdf' im Paketnamen haben, nutzen Sie das
Kommando `aptitude search '~Dxpdf'`. Das Ergebnis ist eine mehrspaltige
Auflistung der Pakete mit deren Installationsstatus, Paketnamen und
Kurzbeschreibung (siehe dazu ``Liste der installierten Pakete anzeigen
und deuten'' in <<liste-der-installierten-pakete-anzeigen-und-deuten>>).

.Auflistung aller Pakete, deren Abhängigkeiten die Zeichenkette `xpdf` beinhalten, mit `aptitude`
----
$ aptitude search '~Dxpdf'
p   eficas               - Graphical editor for Code Aster command files
p   impressive           - Werkzeug zur Präsentation von PDF-Dateien mit
p   muttprint-manual     - Handbuch für muttprint
p   page-crunch          - PDF and PS manipulation for printing needs
p   wiipdf               - Präsentiert eine PDF-Datei mittels Wiimote
$
----

Diese Liste beinhaltet auch das Paket 'impressive', welches eine
Abhängigkeit auf 'poppler-utils', 'mupdf-tools' und 'xpdf-utils' hat.
Will man nur Abhängigkeiten auf das Paket 'xpdf', so muß man Anfangs-
und End-Anker verwenden:

.Auflistung aller Pakete, die eine harte Abhängigkeit auf das Paket 'xpdf' beinhalten, mit `aptitude`
----
$ aptitude search '~D^xpdf$'
p   eficas               - Graphical editor for Code Aster command files
p   muttprint-manual     - Handbuch für muttprint
p   wiipdf               - Präsentiert eine PDF-Datei mittels Wiimote
$
----

==== Prüfen, ob die Abhängigkeiten des gesamten Systems erfüllt sind ====

// Stichworte für den Index
(((apt-get, check)))
(((Paketabhängigkeiten, des gesamten Systems überprüfen)))
APT liefert über das Werkzeug `apt-get` und dessen Unterkommando `check`
ein kleines Diagnosewerkzeug mit. Es aktualisiert den
Paketzwischenspeicher (siehe <<paketcache>>) und prüft, ob auf Ihrem
Linuxsystem beschädigte Abhängigkeiten vorliegen. Das beinhaltet alle
installierten Pakete sowie die bereits entpackten, aber noch nicht
konfigurierten Pakete <<Debian-Anwenderhandbuch-apt-optionen>>.

.Prüfung auf beschädigte Abhängigkeiten mit `apt-get check`
----
# apt-get check
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
#
----

// ToDo: besseres Beispiel finden

==== Zusammenfassung aller unerfüllten Abhängigkeiten im Paketcache ====

// Stichworte für den Index
(((apt-cache, unmet)))
(((Paketabhängigkeiten, unerfüllte Abhängigkeiten auflisten)))
Das Werkzeug `apt-cache` zeigt Ihnen eine Zusammenfassung aller
unerfüllten Abhängigkeiten im Paketzwischenspeicher (siehe
<<paketcache>>). Dazu bietet es das Unterkommando `unmet`, welches Sie
auch noch um einen Paketnamen bzw. eine Liste davon ergänzen können. Die
dargestellte Liste zeigt die Funktionalität zum Paket 'wireshark' und
beinhaltet auch die nicht installierten Vorschläge der Pakete.

.Auflistung aller unerfüllten Abhängigkeiten für Pakete, die mit 'wireshark' beginnen
----
$ apt-cache unmet wireshark*
Paket wireshark Version 1.8.2-5wheezy10 hat eine unerfüllte Abhängigkeit:
 Ersetzt: ethereal (< 1.0.0-3)
Paket libwireshark2 Version 1.8.2-5wheezy10 hat eine unerfüllte Abhängigkeit:
 Ersetzt: wireshark-common (< 1.4.0~rc2-1)
Paket libwireshark-data Version 1.8.2-5wheezy10 hat eine unerfüllte Abhängigkeit:
 Ersetzt: wireshark-common (< 1.4.0~rc2-1)
Paket wireshark-common Version 1.8.2-5wheezy10 hat eine unerfüllte Abhängigkeit:
 Ersetzt: ethereal-common (< 1.0.0-3)
Paket libwireshark-dev Version 1.8.2-5wheezy10 hat eine unerfüllte Abhängigkeit:
 Ersetzt: wireshark-dev (< 1.4.0~rc2-1)
Paket wireshark-dev Version 1.8.2-5wheezy10 hat eine unerfüllte Abhängigkeit:
 Ersetzt: ethereal-dev (< 1.0.0-3)
frank@efho-mobil:~$ apt-cache unmet wireshark
Paket wireshark Version 1.8.2-5wheezy10 hat eine unerfüllte Abhängigkeit:
 Ersetzt: ethereal (< 1.0.0-3)
$
----

// Datei (Ende): ./werkzeuge/paketoperationen/paketabhaengigkeiten-anzeigen.adoc
