8.4. Paketstatus erfragen

Diese Aktion betrifft meist nur ein einzelnes Paket, welches auf dem System installiert ist oder war. Im Alltag ergeben sich mehrere Situationen, in denen das Wissen über den Zustand eines Pakets wichtig ist.

Die Grundfrage ist häufig, ob derzeit ein bestimmtes Paket oder Programm auf Ihrem Linuxsystem installiert ist, und falls ja, in welchem Zustand befindet sich dieses Paket. Es kann vollständig oder nur teilweise installiert sein, liegt in nicht konfiguriertem Status vor oder wurde möglicherweise bereits wieder entfernt. Zu klären ist in dem Fall auch, ob es vollständig entfernt wurde oder noch „Reste“ übrig sind. Dazu zählen die Konfigurationsdateien zu den Paketen bzw. den Programmen daraus. Darüberhinaus ist interessant, welche zusätzlichen Dateien verfügbar sind, bspw. Übersetzungen bzw. Sprachpakete.

Eine kompakte Übersicht erhalten Sie mit Hilfe des Kommandos dpkg -l Paketname. In Abschnitt 8.5, „Liste der installierten Pakete anzeigen und deuten“ besprechen wir das genauer. Ausführlicher sind die Ausgaben zu den dpkg-Schaltern -s und -I sowie den Aufrufen von aptitude show, apt-cache show sowie apt-mark.

8.4.1. dpkg -s Paketname und dlocate -s Paketname

Mit diesen beiden Aufrufen ermitteln Sie den Status eines installierten Pakets. Die Langform zu -s ist --status. Intern greift dpkg auf dpkg-query zurück, so daß Sie die gleichen Schalter verwenden können. Paketname bezeichnet hier den Namen eines Debianpakets.

Die Ausgabe beinhaltet bspw. die Paketfelder Paketname (siehe Abschnitt 2.11, „Benennung einer Paketdatei“), Status, Priorität (siehe Abschnitt 2.13, „Paket-Priorität und essentielle Pakete“), Paketkategorie (siehe Abschnitt 2.8, „Sortierung der Pakete nach Verwendungszweck“), installierte Größe, Maintainer, Architektur ( siehe Abschnitt 1.2, „Debian-Architekturen“) und Version (siehe Abschnitt 2.11, „Benennung einer Paketdatei“) aus. Darunter listet dpkg die dazugehörige, hinterlegte Paketbeschreibung auf.

Der nachfolgende Aufruf ist zudem identisch zu grep-status -F Package -X htop, wobei Sie mit -F das entsprechende Paketfeld und mit -X den Paketnamen angeben. Das Kommando grep-status ist Bestandteil des Pakets dctrl-tools [Debian-Paket-dctrl-tools].

Status des Pakets htop mittels dpkg ermitteln. 

$ dpkg -s htop
Package: htop
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 195
Maintainer: Eugene V. Lyubimkin <jackyf@debian.org>
Architecture: i386
Version: 1.0.1-1
Depends: libc6 (>= 2.3.4), libncursesw5 (>= 5.6+20070908), libtinfo5
Suggests: strace, ltrace
Description: interactive processes viewer
 Htop is an ncursed-based process viewer similar to top, but it
 allows one to scroll the list vertically and horizontally to see
 all processes and their full command lines.
 .
 Tasks related to processes (killing, renicing) can be done without
 entering their PIDs.
Homepage: http://htop.sourceforge.net
$

8.4.2. dpkg -I deb-Datei

Im Gegensatz zu dpkg -s verarbeitet der Schalter -I (Langform --info) lokal vorliegende deb-Dateien. Daraus extrahiert dpkg bzw. dessen Hilfsprogramm dpkg-deb die Einträge der Steuerdatei sowie die Paketinformationen.

Detailinformationen des Pakets htop mittels dpkg ermitteln. 

$ dpkg -I htop_1.0.3-1_amd64.deb
 neues Debian-Paket, Version 2.0.
 Größe 75316 Byte: control-Archiv= 1156 Byte.
     593 Byte,    17 Zeilen      control
     618 Byte,    10 Zeilen      md5sums
     185 Byte,     7 Zeilen   *  postinst             #!/bin/sh
     160 Byte,     5 Zeilen   *  postrm               #!/bin/sh
 Package: htop
 Version: 1.0.3-1
 Architecture: amd64
 Maintainer: Eugene V. Lyubimkin <jackyf@debian.org>
 Installed-Size: 204
 Depends: libc6 (>= 2.15), libncursesw5 (>= 5.6+20070908), libtinfo5
 Suggests: strace, ltrace
 Section: utils
 Priority: optional
 Homepage: http://hisham.hm/htop/
 Description: interactive processes viewer
  Htop is an ncursed-based process viewer similar to top, but it
  allows one to scroll the list vertically and horizontally to see
  all processes and their full command lines.
  .
  Tasks related to processes (killing, renicing) can be done without
  entering their PIDs.
$

8.4.3. apt-cache show Paketname

apt-cache ist Bestandteil des Debian-Pakets apt [Debian-Paket-apt]. Der Aufruf apt-cache show Paketname liefert ein ähnliches Ergebnis wie obiges dpkg -s Paketname, ist jedoch noch ausführlicher. Neben einer übersetzten Paketbeschreibung (Lokalisierung, sofern vorhanden) erscheinen zusätzlich die Debtags (siehe Kapitel 13, Erweiterte Paketklassifikation mit Debtags) zum Paket, der Dateiname und Pfad im Paketmirror und die GPG-Keys zur Validierung des Pakets (siehe Abschnitt 8.35, „Bezogenes Paket verifizieren (GPG-Key)“).

Status des Pakets htop mit apt-cache ermitteln. 

$ apt-cache show htop
Package: htop
Version: 1.0.1-1
Installed-Size: 195
Maintainer: Eugene V. Lyubimkin <jackyf@debian.org>
Architecture: i386
Depends: libc6 (>= 2.3.4), libncursesw5 (>= 5.6+20070908), libtinfo5
Suggests: strace, ltrace
Description-de: Interaktiver Prozessbetrachter
 Htop ist ein ncurses-basierter Prozessbetrachter ähnlich wie top, jedoch
 ermöglicht er Ihnen die Liste vertikal und horizontal zu durchlaufen, um
 alle Prozesse und deren vollständige Kommandozeilen zu sehen.
 .
 Mit Prozessen verbundene Aufgaben wie das (zwangsweise) Beenden und die
 Neufestlegung der Priorität können ohne Eingabe der PIDs erledigt werden.
Homepage: http://htop.sourceforge.net
Description-md5: 8eb5aa19b3c92a975dc78e2165f6688d
Tag: admin::monitoring, interface::text-mode, role::program, scope::utility,
 uitoolkit::ncurses, use::monitor, works-with::software:running
Section: utils
Priority: optional
Filename: pool/main/h/htop/htop_1.0.1-1_i386.deb
Size: 71634
MD5sum: 9a12ed8d648a0b16a08f16aa06a6ee9c
SHA1: 25eb706b210a165efae3a149338c129c383b82df
SHA256: b41970322366d8a8fd174aa32b223dd54d05e4ab1dafddd97390e0fc5f17ed41
$

8.4.4. apt-cache showpkg Paketname

Desweiteren verfügt apt-cache über das Unterkommando showpkg. Primär dient es dazu, die verfügbaren Paketvarianten samt deren Abhängigkeiten und Übersetzungen darzustellen. Die Ermittlung der einfachen und umgekehrten Paketabhängigkeiten besprechen wir ausführlicher unter „Paketabhängigkeiten anzeigen“ in Abschnitt 8.17, „Paketabhängigkeiten anzeigen“.

Die nachfolgenden Ausgaben zeigen die Detailansicht für die Pakete htop und openvpn. Für ersteres steht nur ein Paket zur Verfügung, bei dem zweiten hingegen eine aktualisierte Variante. Daher umfaßt die Ausgabe zwei Einträge mit den Versionen 2.3.4-5 und 2.3.4-5+deb8u1, wobei die letztgenannte Version noch auf dem Paketmirror liegt.

Detailansicht zum Paket htop via apt-cache showpkg (Debian 7 Wheezy). 

$ apt-cache showpkg htop
Package: htop
Versions:
1.0.1-1 (/var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_main_binary-i386_Packages
                  MD5: 8eb5aa19b3c92a975dc78e2165f6688d
 Description Language: de
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_main_i18n_Translation-de
                  MD5: 8eb5aa19b3c92a975dc78e2165f6688d
 Description Language: en
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_main_i18n_Translation-en
                  MD5: 8eb5aa19b3c92a975dc78e2165f6688d


Reverse Depends:
  education-common,htop
Dependencies:
1.0.1-1 - libc6 (2 2.3.4) libncursesw5 (2 5.6+20070908) libtinfo5 (0 (null)) strace (0 (null)) ltrace (0 (null))
Provides:
1.0.1-1 -
Reverse Provides:
$

Detailansicht zum Paket openvpn via apt-cache showpkg (Debian 8 Jessie). 

apt-cache showpkg openvpn
Package: openvpn
Versions:
2.3.4-5+deb8u1 (/var/lib/apt/lists/ftp.de.debian.org_debian_dists_jessie_main_binary-amd64_Packages)
 Description Language:
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_jessie_main_binary-amd64_Packages
                  MD5: 2ebe91e411d46309a61861db507e5c2f
 Description Language: de
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_jessie_main_i18n_Translation-de
                  MD5: 2ebe91e411d46309a61861db507e5c2f
 Description Language: en
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_jessie_main_i18n_Translation-en
                  MD5: 2ebe91e411d46309a61861db507e5c2f

2.3.4-5 (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_jessie_main_binary-amd64_Packages
                  MD5: 2ebe91e411d46309a61861db507e5c2f
 Description Language: de
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_jessie_main_i18n_Translation-de
                  MD5: 2ebe91e411d46309a61861db507e5c2f
 Description Language: en
                 File: /var/lib/apt/lists/ftp.de.debian.org_debian_dists_jessie_main_i18n_Translation-en
                  MD5: 2ebe91e411d46309a61861db507e5c2f


Reverse Depends:
  openvpn:i386,openvpn
  openvpn-auth-radius,openvpn 2
  openvpn-auth-ldap,openvpn 2
  network-manager-openvpn,openvpn 2.1~rc9
  kvpnc,openvpn
  gadmin-openvpn-server,openvpn
  gadmin-openvpn-client,openvpn
  eurephia,openvpn 2
  collectd-core,openvpn
Dependencies:
2.3.4-5+deb8u1 - debconf (18 0.5) debconf-2.0 (0 (null)) libc6 (2 2.15) liblzo2-2 (0 (null)) libpam0g (2 0.99.7.1) libpkcs11-helper1 (2 1.11) libssl1.0.0 (2 1.0.0) init-system-helpers (2 1.18~) initscripts (2 2.88dsf-13.3) iproute2 (0 (null)) openssl (0 (null)) resolvconf (0 (null)) easy-rsa (0 (null)) openvpn:i386 (0 (null))
2.3.4-5 - debconf (18 0.5) debconf-2.0 (0 (null)) libc6 (2 2.15) liblzo2-2 (0 (null)) libpam0g (2 0.99.7.1) libpkcs11-helper1 (2 1.11) libssl1.0.0 (2 1.0.0) init-system-helpers (2 1.18~) initscripts (2 2.88dsf-13.3) iproute2 (0 (null)) openssl (0 (null)) resolvconf (0 (null)) easy-rsa (0 (null)) openvpn:i386 (0 (null))
Provides:
2.3.4-5+deb8u1 -
2.3.4-5 -
Reverse Provides:
$

8.4.5. aptitude show Paketname

Das Ergebnis des Aufrufs von aptitude show Paketname kombiniert die Ausgabe von dpkg -s mit Teilen von apt-cache show. Hervorzuheben sind die vollständig übersetzte Ausgabe samt Paketbeschreibung (Lokalisierung), die Paketflags (siehe Abschnitt 2.15, „Lokale Paketmarkierungen“) und die Debtags (siehe Kapitel 13, Erweiterte Paketklassifikation mit Debtags) zum Paket.

Abbildung 8.1. Ausgabe der Statusinformationen zum Paket htop mittels aptitude

werkzeuge/paketoperationen/aptitude-show.png

8.4.6. Anfragen mit apt-mark

apt-mark ist ebenfalls ein Kommando aus dem Paket apt. Es zeigt Ihnen einerseits die Pakete an, die bereits mit einem bestimmten Paketflag (siehe Abschnitt 2.15, „Lokale Paketmarkierungen“) versehen wurden, andererseits erlaubt es Ihnen auch, diese Paketflags explizit zu setzen.

Mit den beiden Schaltern showauto und showmanual zeigen Sie die automatisch bzw. manuell installierten Pakete an. Die nachfolgende Ausgabe zeigt letzteres, auf automatisch installierte Pakete gehen wir in Abschnitt 8.10, „Automatisch installierte Pakete anzeigen“ genauer ein.

Manuell installierte Pakete anzeigen. 

$ apt-mark showmanual '.*tex$'
dblatex
texlive-xetex
$

Für Pakete, deren aktueller Zustand gehalten werden soll, hilft Ihnen dieser Aufruf mit dem Schalter showhold. Hier sehen Sie das in Kombination mit den beiden Schaltern hold und unhold zum Setzen und Entfernen der Markierung am Beispiel des Pakets xpdf.

Pakete, deren Zustand gehalten wird. 

# apt-mark hold xpdf
xpdf auf Halten gesetzt.
# apt-mark showhold xpdf
xpdf
# apt-mark unhold xpdf
Halten-Markierung für xpdf entfernt.
#

Weiterführende Informationen zu den vier Schaltern auto, manual, hold und unhold erhalten Sie unter „Paketflags“ (siehe Abschnitt 2.15, „Lokale Paketmarkierungen“), „Festlegen einer Paketversion durch explizites Setzen einer Markierung mit apt-mark“ (siehe Kapitel 16, Ausgewählte Pakete nicht aktualisieren) sowie in „Warum ist ein Paket (nicht) installiert“ (siehe Abschnitt 8.15, „Warum ist ein Paket installiert“).