dpkg
bzw. dpkg-query
ist in der Lage, die Größe eines installierten Paketes
anzuzeigen. Es benötigt dafür eine spezielle Suchanfrage bestehend aus dem
Parameter -Wf
gefolgt von den beiden Spalten Installed-size (Installationsgröße)
und Package (Paketname) für das Ausgabeformat. Ergebnis ist eine alphabetisch
sortierte Liste anhand der Paketnamen. Mit Hilfe der drei UNIX-Kommandos column
,
sort
und head
erhalten wir die zehn Softwarepakete, die den meisten Speicherplatz
belegen, ausgegeben in absteigender Reihenfolge. In der linken Spalte sehen Sie die
Paketgröße und in der rechten Spalte den Paketnamen.
Aufspüren der zehn größten installierten Softwarepakete.
$ dpkg-query -Wf '${Installed-size}\t${Package}\n' | column -t | sort -nr | head 1414534 texlive-fonts-extra 398647 linux-image-6.1.0-12-amd64 398283 linux-image-6.1.0-10-amd64 334238 fonts-noto-extra 271679 llvm-14-dev 217530 firefox-esr 206065 texlive-lang-english 187651 openjdk-17-jre-headless 168399 pandoc 138224 libboost1.74-dev $
Mit dem Programm dpigs
[26] aus
dem Paket debian-goodies [Debian-Paket-debian-goodies] zeigen Sie
die Programme bzw. Programmpakete an, die den meisten Speicherplatz auf
ihrem Debiansystem belegen. Es wertet dazu die Ausgabe des Kommandos
grep-status
aus dem Paket dctrl-tools [Debian-Paket-dctrl-tools]
aus. Ausführlicher besprechen wir die Werkzeuge im Abschnitt Schlagworte
verwenden (Debtags) (siehe Abschnitt 13.6, „Suche anhand der Schlagworte“)].
Ein Aufruf ohne weitere Parameter listet Ihnen die zehn größten Speicherfresser auf ihrem System auf. Dabei enthält die erste Spalte die Größe in Kilobyte und die zweite Spalte den Paketnamen.
Ausgabe von dpigs
.
$ dpigs 399871 texlive-fonts-extra 377071 texlive-latex-extra-doc 129158 libreoffice-core 91551 pdfstudio 88963 libgl1-mesa-dri 86913 texlive-lang-greek 86446 texlive-pstricks-doc 80298 libwine 80178 openjdk-6-jre-headless 80175 linux-image-3.2.0-4-686-pae $
dpigs
verfügt nur über einige wenige, aber durchaus nützliche
Schalter. Um beispielsweise die Anzahl der ausgegebenen Pakete zu
begrenzen, nutzen Sie die Option -nZahl
(Langform --lines=Zahl
),
wobei Zahl
der Wert für die gewünschte Anzahl ist. Der Schalter -S
zeigt die Pakete an, die hingegen die größten Quelldaten haben. Mit dem
Schalter -H
rechnet dpigs
die Größenangaben in menschlich lesbare
Werte um. Der Schalter -H
steht hierbei als Abkürzung für human
readable. Kombinieren Sie die drei letztgenannten Schalter, sieht die
Recherche nach den fünf Paketen, die am meisten Quellcode benötigen,
folgendermaßen aus:
Ausgabe von dpigs
mit Einschränkung auf die fünf Spitzenreiter für den Quelltext.
$ dpigs -S -n5 -H 1.0G texlive-extra 299.7M libreoffice 274.7M texlive-base 131.4M chromium-browser 120.5M calligra $
aptitude
kann mit dem o.g. vorgestellten Programm dpigs
problemlos
mithalten. Es macht nur ein wenig mehr Mühe, die gewünschten
Informationen zu erhalten.
Mit dieser Schrittfolge erhalten Sie eine entsprechend sortierte Liste in aufsteigender Reihenfolge in der Text-Modus-Oberfläche:
~i
für
„nur installierte Pakete“ ein. Den Vorgang schließen Sie mit der
Eingabetaste ab.
installsize
. Mit
der Eingabetaste schließen Sie den Vorgang ab.
Im Terminal finden Sie die zehn Pakete mit dem meisten
Plattenplatzverbrauch durch eine Kombination von aptitude
und dem
Standard-UNIX-Kommando tail
. An aptitude
übergeben Sie dabei neben
dem Unterkommando search
mehrere Optionen. Während --sort
installsize
für die Sortierung nach dem Paketattribut „belegter
Plattenplatzverbrauch“ sorgt, filtert '~i'
nur alle installierten
Pakete aus der Liste heraus. Die Ausgabe enthält den Paketstatus, den
Namen des Pakets und die Paketbeschreibung in Kurzform (siehe
Abschnitt 8.5, „Liste der installierten Pakete anzeigen und deuten“). Der
anschließende Aufruf des Kommandos tail
ohne weitere Optionen
beschränkt die Darstellung auf die letzten zehn Zeilen der Ausgabe von
aptitude
und somit die zehn größten Pakete.
Suche nach den größten installierten Paketen mit aptitude
(Namensliste).
$ aptitude search --sort installsize '~i' | tail i A cube2-data - demo game and content for the Cube2 engine i A nexuiz-data - Nexuiz game data files i A torcs-data-tracks - data files for TORCS game - Tracks set i A supertuxkart-data - 3D kart racing game (data) i A flightgear-data-aircrafts - FlightGear Flight Simulator -- standard ai i A flightgear-data-ai - FlightGear Flight Simulator -- standard AI i A nexuiz-textures - Textures for Nexuiz i A sauerbraten - 3D first-person shooter game i A flightgear-data-base - FlightGear Flight Simulator -- base files i A 0ad-data - Real-time strategy game of ancient warfare $
Möchten Sie zudem wissen, wieviel Platz die einzelnen Pakete
verbrauchen, hilft Ihnen der Schalter -F
(Langform --display-format
)
gefolgt von einem Formatstring weiter. Darüber steuern Sie die Ausgabe
des Suchergebnisses von aptitude
. Mit einem Formatstring legen Sie die
Informationen und deren Reihenfolge fest, in der diese ausgegeben werden
sollen (siehe aptitude
-Formatstrings in Abschnitt 10.8, „aptitude
Format Strings“).
In unserem Fall benötigen wir lediglich den Plattenplatzverbrauch und
den Paketnamen. Die beiden Spalteninhalte spezifizieren Sie über die
beiden Formatbezeichner %I
für die Installationsgröße (engl.
„installed size“) und %p
für den Paketnamen (engl. „package
name“). Nachfolgende Darstellung ist aufsteigend, d.h. das
zehntkleinste Paket sehen Sie in der ersten und das größte in der
letzten Zeile der Auflistung.
Suche nach den größten Paketen mit aptitude
(Größe und Paketname), aufsteigende Sortierung.
$ aptitude search -F '%I %p' --sort installsize '~i' | tail 272 MB cube2-data 278 MB nexuiz-data 302 MB torcs-data-tracks 306 MB supertuxkart-data 320 MB flightgear-data-aircrafts 466 MB flightgear-data-ai 523 MB nexuiz-textures 652 MB sauerbraten 751 MB flightgear-data-base 1359 MB 0ad-data $
Für eine umgekehrte, absteigende Darstellung kommt noch das hilfreiche
UNIX-Kommando tac
ins Spiel. Über eine Pipe leiten Sie die Ausgabe von
tail
and tac
weiter. Dieses dreht die Ausgabe um, sodass die letzte
Zeile zuerst ausgegeben wird, danach die vorletzte u.s.w. Die
nachfolgende Ausgabe zeigt eine Auflistung der fünf größten Pakete in
absteigender Reihenfolge. Da tail
ohne Parameter stets 10 Zeilen
ausgibt, wurde dessen Aufruf noch um die Angabe -5
ergänzt.
Suche nach den größten Paketen mit aptitude
(Größe und Paketname), absteigende Sortierung.
$ aptitude search -F '%I %p' --sort installsize '~i' | tail -5 | tac 1359 MB 0ad-data 751 MB flightgear-data-base 652 MB sauerbraten 523 MB nexuiz-textures 466 MB flightgear-data-ai $
[26] „pig“ ist Englisch für Schwein bzw. Sau. Es geht sozusagen um Debianpakete, die den Plattenplatz versauen, auch bekannt als „Plattenplatzschweine“.