Wie liste ich alle installierten Pakete mit bestimmten Versionsnummern auf?

27

Ich möchte alle installierten Pakete mit bestimmten Versionsnummern auf meinem System auflisten. Ich habe alle installierten Pakete ausgecheckt dpkg --get-selections( Auflisten ), aber es zeigt mir nicht, was ich brauche. Beispielsweise:

$ dpkg --get-selections apache2
apache2                                         install

zeigt an, dass apache2 installiert ist, jedoch nicht die version. Ich habe vor kurzem ein apt-get upgradeso apache2.2.22-1 sollte Version installiert werden ( http://packages.ubuntu.com/precise-updates/apache2.2-common ), aber wie kann ich das zeigen?

Vielen Dank!

user2133697
quelle

Antworten:

35

Verwenden Sie dpkg -lstattdessen.

Beispiel:

dpkg -l | grep '^ii' | grep skype

Gibt Folgendes aus:

alaa @ aa-lu: ~ $ dpkg -l | grep '^ ii' | grep skype
ii skype 4.2.0.11-0ubuntu0.12.04.2 i386 client für Skype VOIP ...

Wenn Sie nur den Namen und die Version extrahieren möchten, können Sie dies tun:

dpkg -l | grep '^ii' | grep skype | awk '{print $2 "\t" $3}'

Das wird nur die zweite und dritte Spalte von der obigen Ausgabe drucken, wie folgt:

alaa @ aa-lu: ~ $ dpkg -l | grep '^ ii' | grep skype | awk '{print $ 2 "\ t" $ 3}'
skype 4.2.0.11-0ubuntu0.12.04.2

Wenn Sie alle installierten Pakete mit ihren Versionen und nicht nur Skype auflisten möchten, entfernen Sie einfach den grep skypeTeil, um den Befehl folgendermaßen auszuführen:

dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'
Alaa Ali
quelle
Ich habe festgestellt, dass dpkg -l Versionsnummern abschneidet, wenn sie länger als 21 Zeichen sind und wie alle Paketversionen 22 Zeichen lang sind. :(
ThorSummoner
12

Verwenden

dpkg-query --show apache2

um die Versionsnummer für package apache2und

dpkg-query --show 

um die Versionsnummern für alle installierten Pakete zu erhalten

Florian Diesch
quelle
1
Ihre Lösung gab mir ~ 20% mehr Pakete als dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'. Weißt du was der Unterschied ist?
Thomas Jensen
3
@ Thomas Jensen: Danke, dass du das gesehen hast. dpkg-query --showTatsächlich werden die installierten Pakete nicht angezeigt, aber die nicht installierten . Das heißt, es werden zB auch halb installierte Pakete oder Pakete mit verbleibenden Konfigurationsdateien angezeigt.
Florian Diesch