Comment répertorier les logiciels installés avec la taille installée?

38

Je souhaite avoir une liste des logiciels installés sur ma machine, avec l’espace disque utilisé par ceux-ci. Je préférerais pouvoir commander par le plus grand / le plus petit, mais ce n'est pas une nécessité.

Je suis le genre de personne qui va installer un logiciel pour l'essayer et ne jamais nettoyer après moi-même.

En conséquence, mes 7 Go (Windows et mes données se trouvent sur des partitions distinctes, ainsi qu’une zone d’échange), la partition Ubuntu 11.04 souffre et a commencé à afficher régulièrement des messages d’avertissement.

Lewis Goddard
la source
unix.stackexchange.com/questions/40442/…
Ciro Santilli a annoncé le jeu

Réponses:

23

Vous pouvez le faire graphiquement dans Synaptic Installez synaptic .

Commencez par vérifier que vous avez activé les colonnes Taille installée et Taille de téléchargement (ou une seule si vous le souhaitez).

  • Pour ce faire, accédez à Paramètres> Préférences et choisissez Colonnes et polices , puis cochez les colonnes à afficher.
  • Puis cliquez sur OK .

Fenêtre Préférences

  • Une fois qu'ils sont activés, vous pouvez lister les packages que vous avez installés par taille de téléchargement / installée en cliquant sur la colonne.

Les colonnes

  • Veuillez noter: je n'ai pas mes paquets listés de cette façon cette capture d'écran, mais ça marche.
RolandiXor
la source
C'est précisément ce que je cherchais! Merci beaucoup.
Lewis Goddard
@LewisGoddard: de rien.
RolandiXor
24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

vous montre une liste de paquets triés par taille

Florian Diesch
la source
3
Ce serait mieux si vous pouviez aussi mentionner l'unité de la taille.
jobin
Probablement kilo
Andreas Hartmann
1
Qu'y a-t-il ;8dedans ${Installed-Size;8}?
n611x007
1
@naxa: impression alignée à droite avec une largeur de champ de 8
Florian Diesch le
18

Solution préférée

J'ai trouvé une réponse plus courte ne nécessitant pas aptitude:

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

Ancienne solution proposée

La showcommande de aptitudeest capable d'afficher la taille installée d'un paquet.

J'ai ce petit script qui utilise aptitude(pour installer séparément) la liste de tous les paquets installés avec les tailles suivantes:

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

Les tailles sont exprimées en kilo-octets et sont approximatives, telles que renvoyées par aptitude show pkg.

Le script peut être amélioré en utilisant une seule awkinvocation (mais je suis paresseux :-)

enzotib
la source
1
Vous voudrez peut-être jeter un tuyau à sort -nk1la fin de cette première commande.
Marco Ceppi
@MarcoCeppi: Ouais, ce n'était pas la préoccupation principale de l'OP, et je laisse généralement de côté les commandes de mes scripts, étant donné qu'il peut être appliqué de différentes manières en fonction des besoins.
enzotib
1
Cela répertorie également les logiciels qui ne sont plus installés. Existe-t-il un moyen de les supprimer de la sortie?
Rumpel
Voulez-vous que la somme de ces paquets renvoie cette première commande à cut -f 1 | paste -sd+ | bc. Il est également possible de grep avant cutafin que vous puissiez obtenir la taille installée de paquets spécifiques seulement.
MeanEYE
5

Une autre option consiste à utiliser l' dpigsapplication du debian-goodiespackage:

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
la source
3

Vous pouvez afficher une telle liste dans le gestionnaire de paquets basé sur le terminal Aptitude:

  1. Aptitude ouverte avec sudo aptitude.
  2. Hit S(S majuscule) et tapez ~installsizeà l'invite. (Le ~est pour le tri décroissant; vous pouvez l'omettre si vous voulez les plus petits paquets par-dessus.)
  3. A présent, les packages sont triés par taille dans chaque niveau hiérarchique. Pour avoir une vue d'ensemble, vous aurez besoin du moins de niveaux possible. Appuyez sur Get entrez statusà l'invite. Désormais, tous les packages installés se trouvent dans une seule section, triés par taille.
legoscia
la source
1

Les autres réponses ici énumèrent les paquets installés et désinstallés.

Les listes suivantes ne répertorient que celles qui sont actuellement installées:

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

Ce qu'il fait:

  1. Interrogez la taille installée, l'état et le nom de tous les packages.
  2. Filtrer les paquets désinstallés
  3. Couper la colonne d'état de la sortie

La sortie ressemble à:

...
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
la source