So zeigen Sie die Anzahl der installierten Pakete an


Antworten:


11

Nach diesem Thread :

So listen Sie installierte Pakete auf:

dpkg --list | wc --lines

So sehen Sie, ob ein Paket installiert ist:

dpkg --list | grep package

1
Sie nehmen die Kopfzeilen und einige nicht installierte Pakete (z. B. rc(deinstalliert, aber mit verbleibenden Konfigurationsdateien)) in Ihre Zählung auf.
Gilles 'SO - hör auf böse zu sein'

6
dpkg -l | grep -c '^ii'

Es gibt subtile Varianten, z. B. dpkg -l | grep -c '^?i'wenn Sie Pakete einschließen möchten, die installiert sind, deren Entfernung Sie jedoch angefordert haben. Ein anderer Weg ist

aptitude search '~i' |wc -l

Sie können sogar direkt in die dpkg-Datenbank stöbern:

sh -c 'set /var/lib/dpkg/info/*; echo $#'

Dieses enthält Pakete, die nicht installiert sind, aber noch Konfigurationsdateien enthalten. Sie können diese mit auflisten dpkg -l | grep '^rc'.


1

dpkg -list nett, aber ich benutze tatsächlich apt-show-versionsviel (nicht standardmäßig auf Debian installiert; installiere das gleichnamige Paket) stattdessen viel, besonders wenn ich die Ausgabe weiter verarbeiten möchte (dpkg versucht, mit Zeilenumbruch zu klug zu sein).




0

Wenn Sie eine genaue Anzahl von Paketen wünschen, sollten Sie die ausgegebenen Kopfzeilen nicht zählen dpkg-query -l, daher benötigen Sie ein Muster, das mit den Zeilen beginnt, mit denen begonnen wird ii. Der folgende Einzeiler gibt Ihnen die Anzahl der Zeilen beginnend mit iiund damit die Anzahl der installierten Pakete an:

dpkg-query -l | grep "^ii" | wc -l 

Dies ergibt die gleiche Ausgabe wie

 dpkg --get-selections | grep "[[:space:]]install" | wc -l

Das grep-Muster im zweiten Befehl ignoriert Zeilen, die die Zeichenfolge "deinstall" in der Ausgabe von enthalten dpkg --get-selections.


-1

Zum Beispiel können Sie dies tun:

dpkg-query -l | nl | tail -1 | awk '{print $1}'

OK, es ist wahr, dass nl | tail -1 | awk '{print $1}'die Anzahl der Zeilen in seiner Eingabe gemeldet wird (außer wenn keine Eingabe vorhanden ist, wird nichts gesagt, anstatt zu melden 0) - aber warum würden Sie einen solchen Kludge empfehlen, wenn andere Antworten bereits verwendet werden wc -l?
G-Man sagt "Reinstate Monica"

Das ist lustig, weil ich keine vorherigen Antworten gelesen habe! @ G-Man ... aber das bleibt immer noch eine gute Antwort.
Karim Manaouil
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.