8.13. Verfügbare Versionen eines Paketes anzeigen

8.13.1. aptitude verwenden

aptitude bietet Ihnen mehrere Wege an, um diese Frage zu beantworten. Zur Verfügung stehen die beiden Unterkommandos versions und search.

Um alle verfügbaren Varianten eines Pakets für alle Veröffentlichungen anzuzeigen, nutzen Sie die aptitude-Option versions. Nachfolgende Ausgabe illustriert die Recherche nach den Paketen, in denen die Zeichenkette tzdata im Paketnamen enthalten ist. Hier werden zudem ausschließlich Pakete aus der Veröffentlichung stable bezogen. Die Sortierung erfolgt paketweise, d.h. zunächst erhalten Sie eine Zeile mit dem Paketnamen und darunter zusätzliche Informationen zur verfügbaren Version. Die erste Spalte zeigt dabei den Paketstatus an, danach die Versionsnummer, die Veröffentlichung und als letztes die Priorität (siehe dazu „Veröffentlichungen mischen“ in Kapitel 20, Veröffentlichungen mischen).

Die verfügbaren Versionen zu den Paketen tzdata anzeigen. 

$ aptitude versions 'tzdata'
Paket tzdata:
p   2015f-0+deb8u1               stable  500
i   2015g-0+deb8u1               stable- 500

Paket tzdata-java:
p A 2015f-0+deb8u1               stable  500
i A 2015g-0+deb8u1               stable- 500
$

Wünschen Sie nur eine kompakte Ausgabe zu einem konkreten Paket ohne Darstellung des Paketnamens, helfen Ihnen die beiden Schalter --show-package-names mit dem Wert never und --group-by mit dem Wert none weiter. Ersteres blendet den Paketnamen aus, während der zweite Schalter die Gruppierung in der Ausgabe deaktiviert. Ausführlicher gehen wir auf die Gruppierung in Abschnitt 10.11, „aptitude-Gruppierung“ ein.

Kompakte Ausgabe ohne Paketname. 

$ aptitude versions 'tzdata-java' --show-package-names=never --group-by=none
p A 2015f-0+deb8u1               stable  500
i A 2015g-0+deb8u1               stable- 500
$

Aktualisierbare Pakete finden Sie mit Hilfe des Suchfilters search '~U' bzw. search '?upgradable' in der Langform. Ergebnis ist eine Liste der Pakete, welche den Installationsstatus, den Paketnamen und die kurze Paketbeschreibung umfasst.

Ausgabe von aptitude zur Liste der aktualisierbaren Pakete. 

$ aptitude search '~U'
i   acpi-support      - Skripte zur Verwaltung von ACPI-Ereignissen
i   acpi-support-base - Skripte zur Verarbeitung grundlegender ACPI-Ereignisse
i   iceweasel         - Webbrowser auf Basis von Firefox
i A libc-bin          - Die »Embedded GNU C Library«: Binärdateien
i A libc-dev-bin      - Embedded GNU C Library: Entwicklungsbinärdaten
i   libc6             - Die »Embedded GNU C Library«: Laufzeitbibliotheken
i A libc6-dev         - Die »Embedded GNU C Library«: Entwicklungsbibliotheken
i   libc6-i686        - »Embedded GNU C Library«: Laufzeitbibliotheken [optimi
i A libmozjs24d       - Mozilla SpiderMonkey JavaScript library
i A xulrunner-24.0    - XUL + XPCOM application runner
$

8.13.2. Mit apt stöbern

Auch apt liefert mittlerweile einen Schalter mit, der Ihnen bei der Recherche nach neuen Versionen weiterhilft. Dieser heißt --all-versions und entfaltet seine Wirkung in Kombination mit dem Unterkommando list. Ohne weitere Angabe eines Paketes überprüft es alle Pakete im Repository.

Das nachfolgende Beispiel stammt von einem Debian 9 Stretch, während bereits der Nachfolger 10 Buster als stabile Veröffentlichung gilt. Sie sehen, dass apt die beiden Pakete mc und xpdf überprüft und die Pakete der Veröffentlichung oldstable zuordnet. mc war bereits installiert, da die Konfigurationsdateien noch vorhanden sind. xpdf ist hingegen noch vollständig installiert. Beide Pakete stehen in einer neueren Version im Repository bereit. apt listet nach dem Namen die Paketversion und die Architektur auf.

Status der installierten Pakete anzeigen. 

$ apt list --all-versions mc xpdf
Auflistung... Fertig
mc/oldstable,now 3:4.8.18-1 amd64 [Konfiguration-verbleibend]

xpdf/oldstable,now 3.04-4 amd64  [installiert]

$

8.13.3. apt-show-versions verwenden

Als gleichwertige Alternative zu aptitude und apt steht Ihnen auch das Werkzeug apt-show-versions aus dem gleichnamigen Debianpaket zur Verfügung [Debian-Paket-apt-show-versions] (siehe auch „Aus welchem Repo kommen die Pakete“ in Abschnitt 8.14, „Aus welchem Repo kommen die Pakete“). Dieses Paket gehört nicht zur Standardinstallation und ist daher zusätzlich zu installieren.

Die nachfolgende Ausgabe zeigt den Status des Pakets base-files an. Daraus erkennen Sie, daß dieses Paket installiert ist und für dieses eine neuere Version bereitsteht. apt-show-versions zeigt Ihnen zudem an, auf welche konkrete Version sie das bestehende Paket aktualisieren können.

Kompakte Ausgabe mittels apt-show-versions

$ apt-show-versions base-files
base-files:amd64/jessie 8+deb8u2 upgradeable to 8+deb8u3
$

Gibt es keine aktuellere Version, sehen Sie die folgende Ausgabe:

Ausgabe von apt-show-versions für ein aktuelles Paket. 

$ apt-show-versions xpdf
xpdf:amd64/stretch 3.04-4 uptodate
$

Ist das Paket jedoch noch nicht auf ihrem System installiert, ist es etwas schmallippig:

Ausgabe von apt-show-versions für ein noch nicht installiertes Paket. 

$ apt-show-versions mc
mc:amd64 not installed
$

8.13.4. apt-cache benutzen

Das Werkzeug apt-cache verfügt über das Unterkommando madison. Damit finden Sie heraus, welche Pakete derzeit von den Spiegelservern in einer neueren Version verfügbar sind. Nachfolgender Ausdruck zeigt das für das Paket apt-doc [Debian-Paket-apt-doc].

Ausgabe von apt-cache mit dem Unterkommando madison für apt-docunter Debian 9 Stretch auf einem System mit der Architektur i386

$ apt-cache madison apt-doc
   apt-doc |      1.4.6 | http://ftp.ch.debian.org/debian stretch/main i386 Packages
       apt |      1.4.6 | http://ftp.ch.debian.org/debian stretch/main Sources
$

8.13.5. rmadison einsetzen

Möchten Sie hingegen wissen, welche Versionen für die jeweiligen Veröffentlichungen bereitstehen, hilft Ihnen das Werkzeug rmadison aus dem Paket devscripts weiter [Debian-Paket-devscripts]. Es fragt dazu per HTTP eine regelmäßig aktualisierte Quelle im Internet ab, d.h. Sie brauchen Internetzugriff, um rmadison zu nutzen.

Als Parameter erwartet rmadison einen oder mehrere Paketnamen, nach denen es dann recherchiert. Als Ergebnis sehen Sie in der linken Spalte den Paketnamen, gefolgt von der Versionsnummer des Pakets, der Veröffentlichung und am Schluss die Architektur, für die das Paket verfügbar ist. Im nachfolgenden Beispielaufruf ist die Architektur all, da es sich um das Dokumentationspaket apt-doc handelt, welches auf allen Plattformen gleich ist.

Auflistung der verfügbaren Paketversionen mit rmadison

$ rmadison apt-doc
apt-doc    | 0.9.7.9+deb7u7 | oldoldstable       | all
apt-doc    | 1.0.9.8        | oldstable-kfreebsd | all
apt-doc    | 1.0.9.8.4      | oldstable          | all
apt-doc    | 1.4.6          | stable             | all
apt-doc    | 1.4.6          | testing            | all
apt-doc    | 1.5~beta1      | unstable           | all
$

Obige Ausgabe umfaßt die vier Spalten Paketname, Versionsnummer, Veröffentlichung und Architektur. Möchten Sie die Ausgabe hingegen auf eine bestimmte Veröffentlichung oder Architektur einschränken, akzeptiert rmadison die Schalter -a Architektur und -s Veröffentlichung. Um zu sehen, welche Version des Paketes base-files für die Veröffentlichung Debian 9 Stretch und die Architektur amd64 bereitstehen, nutzen Sie den folgenden Aufruf:

Gefilterte Auflistung der verfügbaren Paketversionen mit rmadison

$ rmadison -s stretch -a amd64 base-files
base-files | 9.9           | stable     | amd64
$

8.13.6. grep-available und grep-aptavail benutzen

In eine ähnliche Richtung gehen die beiden Werkzeuge grep-available und grep-aptavail aus dem Paket dctrl-tools [Debian-Paket-dctrl-tools]. Beide liefern Ihnen Informationen darüber, ob und in welcher Version das von Ihnen angefragte Paket aus den Paketquellen zur Verfügung steht. Während grep-available weitestgehend die Informationen ausgibt, die Sie mittels dpkg -s erhalten, liefert Ihnen grep-aptavail die vollständigen Informationen, so bspw. auch, wo Sie das Paket in der Verzeichnishierarchie der Paketquellen finden. Nachfolgendes Beispiel zeigt die Recherche anhand des Pakets xpdf.

Paketinformationen zu xpdf

$ grep-aptavail -PX xpdf
Package: xpdf
Version: 3.04-4
Installed-Size: 371
Maintainer: Debian QA Group <packages@qa.debian.org>
Architecture: amd64
Replaces: xpdf-common, xpdf-reader
Provides: pdf-viewer
Depends: libc6 (>= 2.4), libgcc1 (>= 1:3.0), libpoppler64 (>= 0.48.0), libstdc++6 (>= 5), libx11-6, libxm4 (>= 2.3.4), libxt6
Recommends: poppler-utils, poppler-data, gsfonts-x11, cups-bsd
Conflicts: xpdf-common, xpdf-reader
Description: Portable Document Format (PDF) reader
Homepage: http://www.foolabs.com/xpdf
Description-md5: fa7a14f325304cc49bbc0086a88d330e
Tag: implemented-in::c++, interface::graphical, interface::x11,
 role::program, scope::application, uitoolkit::motif, use::viewing,
 works-with-format::pdf, works-with::text, x11::application
Section: text
Priority: optional
Filename: pool/main/x/xpdf/xpdf_3.04-4_amd64.deb
Size: 159144
MD5sum: 8341b3ced6214b35185fdb42d8e7dcd7
SHA256: 926673359583d0e4ecd1f57774642303e5fed5d95ad90b5debde6df4c43e8237
$