Wie liste ich installierte Software mit der installierten Größe auf?

38

Ich möchte eine Liste der auf meinem Computer installierten Software mit dem von ihnen belegten Speicherplatz haben. Ich würde es vorziehen, nach dem Größten / Kleinsten bestellen zu können, aber das ist keine Notwendigkeit.

Ich bin die Art von Person, die Software installiert, um es zu versuchen, und niemals nach mir selbst aufräumt.

Infolgedessen leiden meine 7 GB (Windows und meine Daten befinden sich auf separaten Partitionen sowie in einem Auslagerungsbereich) auf der Ubuntu 11.04-Partition und es werden regelmäßig Warnmeldungen angezeigt.

Lewis Goddard
quelle

Antworten:

23

Sie können dies grafisch in Synaptic tun Installieren Sie synaptic.

Stellen Sie zunächst sicher, dass Sie die Spalten Installierte Größe und Downloadgröße aktiviert haben (oder nur eine, wenn Sie diese möchten).

  • Gehen Sie dazu zu Einstellungen> Voreinstellungen und wählen Sie Spalten und Schriftarten . Kreuzen Sie dann die gewünschten Spalten an.
  • Klicken Sie dann auf OK .

Einstellungsfenster

  • Sobald sie aktiviert sind, können Sie die von Ihnen installierten Pakete nach Download / installierter Größe auflisten, indem Sie auf die Spalte klicken.

Säulen

  • Bitte beachten Sie: Ich habe meine Pakete nicht auf diese Weise in diesem Screenshot aufgelistet, aber es funktioniert.
RolandiXor
quelle
Genau das habe ich gesucht! Vielen Dank.
Lewis Goddard
@ LewisGoddard: Gern geschehen.
RolandiXor
24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

zeigt Ihnen eine nach Größe sortierte Paketliste

Florian Diesch
quelle
3
Wäre besser, wenn Sie auch die Einheit der Größe erwähnen könnten.
Jobin
Wahrscheinlich Kilobyte
Andreas Hartmann
1
was ist ;8in ${Installed-Size;8}?
n611x007
1
@naxa: Drucken rechtsbündig mit einer Feldbreite von 8
Florian Diesch
18

Bevorzugte Lösung

Ich habe eine kürzere Antwort gefunden und benötige nicht aptitude:

dpkg-query -Wf '${Installed-size}\t${Package}\n' | column -t

Alte vorgeschlagene Lösung

Der showBefehl von aptitudekann die installierte Größe eines Pakets anzeigen.

Ich habe dieses kleine Skript, das verwendet aptitude(um separat zu installieren), um eine Liste aller installierten Pakete mit Größen zu haben:

#!/bin/bash

export LC_ALL=C

aptitude show $(dpkg-query -Wf '${Package}\n') |
  awk '$1 == "Package:"     { name = $2 }
       $1 == "Uncompressed" { printf("%10s %s\n", $3, name) }' |
  awk '$1 ~ /k/ { $1 *= 1 }; $1 ~ /M/ { $1 *= 1024 }
       { printf("%9d %s\n", $1, $2)}'

Größe wird in Kilobyte angegeben und ist ungefähr, wie von zurückgegeben aptitude show pkg.

Das Skript kann mit einem einzigen awkAufruf verbessert werden (aber ich bin faul :-)

Enzotib
quelle
1
Möglicherweise möchten Sie sort -nk1am Ende dieses ersten Befehls eine Pipe nach werfen .
Marco Ceppi
@MarcoCeppi: Ja, es war nicht das Hauptanliegen des OP, und ich lasse das Bestellen in meinen Skripten normalerweise aus, da es je nach Bedarf auf unterschiedliche Weise angewendet werden kann.
Enzotib
1
Hier wird auch Software aufgelistet, die nicht mehr installiert ist. Gibt es eine Möglichkeit, diese aus der Ausgabe zu entfernen?
Rumpel
Wollen Sie eine Summe dieser Pakete leiten, die den ersten Befehl an cut -f 1 | paste -sd+ | bc. Es ist auch möglich, vorher nachzuschlagen, cutdamit Sie die installierte Größe nur für bestimmte Pakete erhalten.
MeanEYE
5

Eine andere Option ist die Verwendung der dpigsAnwendung aus dem debian-goodiesPaket:

NAME
   dpigs - Show which installed packages occupy the most space

SYNOPSIS
   dpigs [options]

DESCRIPTION
   dpigs sorts the installed packages by size and outputs the largest ones. Per
   default dpigs displays the largest 10 packages. You can change this value by
   using the -n option (see "OPTIONS"). The information is taken from the dpkg
   status file with grep-status(1).

OPTIONS
   -h, --help
       Display some usage information and exit.

   -n, --lines=N
       Display the N largest packages on the system (default 10).

   -s, --status=FILE
       Use FILE instead of the default dpkg status file (which is /var/lib/dpkg/status
       currently).

   -S, --source
       Display the largest source packages of binary packages installed on the system.
Drew Noakes
quelle
3

Sie können eine solche Liste im terminalbasierten Paketmanager Aptitude anzeigen:

  1. Öffnen Sie Aptitude mit sudo aptitude.
  2. Drücken Sie S(Großbuchstabe S) und geben Sie ~installsizean der Eingabeaufforderung Folgendes ein. (Das ~ist für absteigende Sortierung; Sie können es weglassen, wenn Sie die kleinsten Pakete oben haben möchten.)
  3. Inzwischen sind die Pakete innerhalb jeder Hierarchieebene nach ihrer Größe sortiert. Um sich einen Überblick zu verschaffen, sollten Sie so wenige Ebenen wie möglich haben. Drücken Sie Gund geben Sie statusan der Eingabeaufforderung. Jetzt befinden sich alle installierten Pakete in einem Abschnitt, sortiert nach Größe.
Legoscia
quelle
1

Die anderen Antworten hier listen sowohl installierte als auch deinstallierte Pakete auf.

In der folgenden Liste sind nur die aktuell installierten aufgeführt:

dpkg-query -W -f='${Installed-Size;8}\t${Status;1}\t${Package}\n' | grep -v "\sd\s" | sort -n | cut -f1,3-

Was es macht:

  1. Fragen Sie die installierte Größe, den Status und den Namen aller Pakete ab
  2. Deinstallierte Pakete herausfiltern
  3. Schneiden Sie die Statusspalte aus der Ausgabe

Ausgabe ähnelt:

...
22376   vim-runtime
26818   linux-image-3.8.0-32-generic
28673   libc6-dbg
35303   libpython3.3-dev
40303   valgrind
40731   linux-firmware
41516   smbclient
58704   linux-headers-3.8.0-26
58733   linux-headers-3.8.0-32
93566   linux-image-extra-3.8.0-32-generic
Drew Noakes
quelle