Come posso elencare il software installato con le dimensioni installate?


38

Vorrei avere un elenco del software installato sulla mia macchina, con lo spazio su disco da loro consumato a fianco. Preferirei poter ordinare dal più grande / più piccolo, ma non è una necessità.

Sono il tipo di persona che installerà il software per provarlo e non ripulirò mai dopo me stesso.

Di conseguenza, la mia partizione da 7 GB (Windows e i miei dati sono su partizioni separate, nonché un'area di scambio) Ubuntu 11.04 soffre e ha iniziato a mostrare regolarmente messaggi di avviso.


Risposte:


23

Puoi farlo graficamente in Synaptic Installa Synaptic .

Innanzitutto assicurati di aver abilitato le colonne Dimensioni installate e Dimensione download (o solo una se vuoi quella).

  • Per fare ciò, vai su Impostazioni> Preferenze e scegli Colonne e Font , quindi spunta le colonne che vuoi vedere.
  • Quindi fare clic su OK .

Finestra delle preferenze

  • Una volta abilitati, puoi elencare i pacchetti che hai installato scaricando / dimensione installata facendo clic sulla colonna.

colonne

  • Nota: non ho i miei pacchetti elencati in questo modo questa schermata, ma funziona.

Questo è esattamente quello che stavo cercando! Molte grazie.
Lewis Goddard,

@LewisGoddard: prego.
RolandiXor

24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

mostra un elenco di pacchetti ordinati per dimensione


3
Sarebbe meglio se potessi menzionare anche l'unità delle dimensioni.
Jobin

Probabilmente kilobyte
Andreas Hartmann,

1
ciò che è ;8in ${Installed-Size;8}?
n611x007,

1
@naxa: stampa allineata a destra con una larghezza dei campi di 8
Florian Diesch,

18

Soluzione preferita

Ho trovato una risposta più breve, che non richiede aptitude:

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

Vecchia soluzione proposta

Il showcomando di aptitudeè in grado di mostrare la dimensione installata di un pacchetto.

Ho questo piccolo script, che usa aptitude(per installare separatamente) per avere un elenco di tutti i pacchetti installati con dimensioni:

#!/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)}'

Le dimensioni sono espresse in kilobyte e sono approssimative, come restituito da aptitude show pkg.

Lo script può essere migliorato usando una sola awkchiamata (ma sono pigro :-)


1
Potresti voler lanciare un tubo alla sort -nk1fine di quel primo comando.
Marco Ceppi

@MarcoCeppi: sì, non era la preoccupazione principale dell'OP, e di solito tralascio l'ordine dai miei script, dato che può essere applicato in modi diversi secondo necessità.
enzotib,

1
Questo elenca anche il software che non è più installato. C'è un modo per rimuoverli dall'output?
rumpel,

Vuoi una somma di questi pacchetti pipe che il primo comando a cut -f 1 | paste -sd+ | bc. È anche possibile eseguire grep in precedenza in cutmodo da poter ottenere le dimensioni installate solo di pacchetti specifici.
MeanEYE

5

Un'altra opzione è quella di utilizzare l' dpigsapplicazione dal debian-goodiespacchetto:

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.

3

È possibile visualizzare tale elenco nel gestore dei pacchetti basato sul terminale Aptitude:

  1. Apri Aptitude con sudo aptitude.
  2. Premi S(S maiuscola) e digita ~installsizeal prompt. ( ~È per l'ordinamento decrescente; puoi ometterlo se vuoi i pacchetti più piccoli in cima.)
  3. Ormai, i pacchetti sono ordinati per dimensione all'interno di ciascun livello gerarchico. Per avere una panoramica, vorrai il minor numero possibile di livelli. Premi Ge inserisci statusal prompt. Ora tutti i pacchetti installati sono in una singola sezione, ordinati per dimensione.

1

Le altre risposte qui elencano sia i pacchetti installati che quelli disinstallati.

Di seguito sono elencati solo quelli attualmente installati:

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

Cosa fa:

  1. Interroga le dimensioni, lo stato e il nome installati di tutti i pacchetti
  2. Filtra i pacchetti disinstallati
  3. Taglia la colonna di stato dall'output

L'output è simile a:

...
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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.