Quels progiciels installés utilisent le plus d'espace disque sur Debian?

77

L'espace disque de ma partition racine est saturé, je souhaite donc supprimer certaines applications du système. Comment savoir quels logiciels utilisent le plus d'espace disque? Est-il possible de voir cela de aptitude?

Je connais les analyseurs d’espace disque génériques tels que dfou baobab, mais j’ai besoin de solutions pour les applications installées.

Mirzhan Irkegulov
la source
askubuntu.com/questions/62290/…
Ciro Santilli a annoncé le

Réponses:

54

Le plus simple est de courir wajig large. Le paquet devrait être un apt-install-away.

Voici deux liens vers d'autres moyens de le faire:

Rappelez-vous également que la taille installée ne représente qu'une partie de l'espace occupé par les packages. La version compressée est probablement toujours dans le cache, ce qui prend également un peu de place. Vous pouvez enlever ceux avec apt-get clean.

Killermist
la source
4
La commande pour vider le cache du paquet est apt-get clean. “Efface le référentiel local des fichiers de paquets récupérés” - man apt-get
manatwork
98

Le moyen le plus simple (sans installer de paquet supplémentaire) est:

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

qui affiche les paquets par ordre de taille, le plus grand paquet en dernier.

Malheureusement, sur certains systèmes au moins, cette liste inclut les packages qui ont été supprimés mais non purgés. Tous ces paquets peuvent être purgés en exécutant:

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

Ou si vous ne voulez pas purger les paquets désinstallés, vous pouvez utiliser cette variante pour filtrer les paquets qui ne sont pas à l'état 'installé' dans la liste:

dpkg-query -Wf '${db:Status-Status} ${Installed-Size}\t${Package}\n' | sed -ne 's/^installed //p'|sort -n
JosephH
la source
2
"Installed-size" est une estimation préemptée de la quantité d'espace nécessaire au paquet installé. Ce n'est pas la taille réelle, j'en ai bien peur.
Rolf
23

Depuis que vous voulez see which [installed] software packages use the most disk space[,] from aptitude... bien sûr, vous pouvez utiliser aptitude! via son interface de ligne de commande ou {interactive, TUI, awesomeness}. Parlons d'abord de la CLI, puis de la TUI. De toute façon, il vous suffit de connaître le

  • options de ligne de commande à utiliser. Le texte suivant utilise des options longues (pour faciliter la recherche dans la documentation), mais bien sûr, des options courtes sont également disponibles.
  • argument en ligne de commande à utiliser
  • chaîne de format de sortie à utiliser

La ligne de commande la plus élémentaire permettant d’indiquer quels progiciels installés utilisent le plus d’espace disque est probablement

aptitude search --sort '~installsize' --display-format '%p %I' '~i' | head

alors décomposons cela:

  • --sortest l'ordre de tri des packages et ~installsizespécifie une stratégie de tri des packages .
  • installsizesignifie 'trier sur la taille installée (estimée)', et les ~moyens précédents trier par ordre décroissant (étant donné que la valeur par défaut de toutes les stratégies de tri est croissante).
  • --display-formatchange le <you guessed :->. La chaîne de format '%p %I' indique le aptitudenom du paquet de sortie, puis la taille installée.
  • '~i'dit aptitudede ne rechercher que les paquets installés.
  • ... et, à moins que vous avez très peu de paquets installés (mon poste de travail Debian un peu générique a plus de 2400), vous voulez tuyau pour headou lessou un fichier, ou peut - être juste wc -lpour voir combien de lignes aptitudeseront de retour.

Vous voudrez peut-être aussi

  1. spécifiez la largeur de ligne (en caractères) aptitudeà utiliser lors de l'affichage, avec --width <your desired integer value/>. aptitudechoisira par défaut la largeur de votre terminal, mais parfois, il devine mal, et parfois vous voulez écrire dans un fichier, etc.
  2. afficher plus d'informations dans votre chaîne de format ou modifier la largeur des champs. Par exemple, ma chaîne de format améliorée '%30p %I %r %60d'affiche

    • %30p : nom du paquet dans la largeur du champ = 30 caractères
    • %I : taille d'installation estimée
    • %r : 'reverse depend count': nombre approximatif d'autres packages installés dépendant de ce package
    • %60d : description courte du paquet en largeur de champ = 60 caractères

Notez que si vous ne voyez pas de changements dans votre champ de sortie, vous devrez probablement le définir --width.

... et vous pouvez aussi faire ce genre de chose dans le {interactive, TUI} aptitude. Par exemple, pour définir les préférences de format d'affichage,

  • cliquez ou naviguez jusqu'à Options-> Préférence
  • faites défiler jusqu'à Format d'affichage des vues de package
  • ajouter %Ià la valeur actuelle dans la position désirée

Pour limiter la recherche aux packages installés dans le logiciel interactif aptitude,

  • presse l(minuscule L)
  • entrer ~idans le dialogue

Pour trier la taille installée dans l’interactif aptitude,

  • presse Shift-S(majuscule S)
  • entrer installsizedans le dialogue

Références:

Braiam
la source
Je ne sais pas s'il existe un moyen de le faire, mais il serait bien de toujours imprimer la taille en Ko, ce qui faciliterait beaucoup le tri ou le post-traitement.
Derobert
@derobert cherchait comment je pouvais contrôler l'espace blanc dans la sortie d'aptitude, aussi, apparemment, il n'y a aucun moyen de changer la sortie de la taille.
Braiam
@ Braiam oui, quelle est la quantité totale d'espace gagné si je supprime *texlive*?
terdon
@terdon mm ... ça ne suffirait pas aptitude -s remove '?and(texlive,~i)'? En outre, vous pouvez ajouter une balise utilisateur à certains packages afin de pouvoir les manipuler dans leur ensemble (comme les tâches).
Braiam
9

Au cas où vous ne voudriez pas installer wajig. J'imagine que tout le monde a installé des goodies Debian:

dpigs              - Show which installed packages occupy the most space
dfc
la source
Wajig nécessite Python 3, ce qui représente encore 40 Mo. debian-goodies nécessite Python 2.6+, donc 700 Ko supplémentaires. Ceci ou la réponse de JosephH sont les meilleurs!
Tim O'Brien
J'ai remarqué que dpigsle résultat obtenu est le même que celui dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | headqui figure dans le top 10 des packages installés qui occupent le plus d'espace. Pourtant, dpigsc'est simple et court.
clearkimura
8

Tout d’abord, utilisez un outil tel que baobab( sudo apt-get install baobab) pour vous montrer cet espace est utilisé:

entrez la description de l'image ici

Cela vous donnera un bon aperçu graphique et vous aidera à préciser ce qui occupe votre espace. Vous pouvez également obtenir ces informations sur la ligne de commande en utilisant du:

$ sudo du -ch /

Passez ceci sort(en supposant que GNU sort, ce qui devrait être le cas dans Debian) pour trier par taille de répertoire:

$ sudo du -ch / | sort -h

Dans une étape suivante, vous pourrez voir combien d’espace un paquet particulier utilise avec cette commande:

$ sudo apt-get --assume-no --purge remove "PACKAGE_NAME" | grep "be freed" | 
   awk '{print $4, $5}' 

Sur mon système, par exemple, la suppression de tous les texlivepackages libère 1 502 Mo:

$ sudo apt-get --assume-no --purge remove "texlive*" | grep "be freed" | 
   awk '{print $4, $5}' 
1,502 MB

Enfin, vous pouvez obtenir ces informations pour tous les packages installés avec cette commande:

$ for i in $(dpkg -l | awk '($1=="ii"){print $2}'); do  
    echo -e "$i\t"$(sudo apt-get --assume-no --purge remove "$i" | 
                    grep "be freed" | awk '{print $4, $5}'); 
  done
terdon
la source
3

Vous pouvez utiliser le paquet wajig et la commande

wajig large

L'aide explique ce que cela fait.

wajig large -h

usage: wajig large [-h]

List size of all large (>10MB) installed packages

Voir aussi la page du projet .

Faheem Mitha
la source
3

ajouter à d'autres réponses, si vous aimez la ligne de commande, vous pouvez utiliser le bon vieux durep

# durep -td 1 /etc                         # or -td 2
[ /etc   319.4K (60 files, 43 dirs) ]
  90.2K [########                      ]  28.26% apache2/
  27.5K [##                            ]   8.62% apt/
  23.7K [##                            ]   7.43% mime.types
  19.7K [#                             ]   6.18% cron.daily/
  18.7K [#                             ]   5.87% services
  18.0K [#                             ]   5.64% security/
  14.7K [#                             ]   4.61% init.d/
  13.2K [#                             ]   4.13% ssl/
  11.1K [#                             ]   3.48% ld.so.cache
   9.0K [                              ]   2.81% locale.gen
   7.8K [                              ]   2.43% pam.d/
   4.5K [                              ]   1.42% default/
   4.3K [                              ]   1.35% skel/
   2.9K [                              ]   0.92% locale.alias

Vous pouvez probablement libérer de l'espace en utilisant localepurge

# dpkg-reconfigure localepurge
# localepurge
localepurge: Disk space freed in /usr/share/locale: 26160 KiB
localepurge: Disk space freed in /usr/share/man: 1304 KiB

Total disk space freed by localepurge: 27464 KiB

Enfin, vous pouvez probablement vous débarrasser des icônes et des polices qui prennent parfois beaucoup de place. Voir les détails sur ce site

https://ownyourbits.com/2017/02/18/squeeze-disk-space-on-a-debian-system/

(exemples extraits de ownyourbits)

nachoparker
la source
dpkg-reconfigure localepurgese plaint du localepurgepaquet n'étant pas disponible.
Rolf
2

Ajout de quelques outils supplémentaires à la liste, j'ai toujours utilisé debfosteret deborphansur mes systèmes. Ils sont particulièrement utiles pour rechercher les anciennes dépendances qui traînent après les mises à niveau.

apt-get autoremoveest génial, mais ne comprend pas tout et comme il suit les marques d’installation, il ne sait pas toujours ce que vous souhaitez conserver. L'utilisation apt-markvous permet de le diriger dans une certaine mesure, cependant.

Vérifiez également: https://wiki.debian.org/ReduceDebian

XTL
la source
0

Bien que ce soit une belle collection d’outils, à laquelle j’ajouterais KDE / QT Filelight, similaire aux autres outils d’utilisation de l’espace disque gui, ce n’est pas la réponse littérale au titre de la rubrique.

Si vous prenez la question de ce fil littéralement, c’est-à-dire quels sont les plus gros packages de votre système, en règle générale, ils sont:

La suite de paquets libreoffice, qui n'est pas un paquet unique, mais qui est vraiment grosse.

Le noyau Linux et les paquets d'en-tête associés viennent ensuite, je pense, et si vous avez plusieurs noyaux installés, ce que la plupart des systèmes ont tendance à avoir, chacun d'entre eux est autour, je pense, 135 Mo d'espace disque, grossit en gros, chaque année, mais c'est à peu près aussi gros . Si vous utilisez des pilotes vidéo non libres, il y aura également les packages / fichiers de pilotes associés. Notez que, comme avec libreoffice, chaque noyau peut en réalité être composé de 2 ou 3 paquets, l’image, l’en-tête et les pilotes, de sorte qu’un nombre réel par nombre de tailles de paquet n’est pas aussi précis que pour obtenir un sens grossier.

Après ceux-ci, je ne suis pas au courant d'un nombre énorme de paquets dans le pool de paquets de Debian.

Je trouve qu’une fois que la partition racine commence à devenir assez grosse pour que vous vous demandiez comment vous débarrasser des paquets pour la réduire, il est généralement temps de déplacer / redimensionner vers une partition racine plus grande.

apt-get clean est bien sûr la première chose à exécuter, pour se débarrasser de tous les fichiers .deb en cache, mais une fois que vous supprimez cela, et que vous dites presque 2 noyaux, si vous êtes toujours bloqué avec assez de place, c'est plus Pratique pour augmenter la taille de la partition puisque les nettoyages, etc. ne sont que des drapeaux rouges sur lesquels vous êtes près de quitter la partition racine, ce qui peut poser un réel problème si apt ne dispose pas de suffisamment de place dans / var pour télécharger et extraire les paquets pour une améliorer. Nettoyer par les actions de purge des fichiers de configuration restants des paquets supprimés ne vous apportera rien de bon en termes de récupération d'espace disque car ils sont minuscules, mais il est agréable de le faire de temps en temps juste pour nettoyer cruellement, mais cela ne devrait pas. t être confondu avec réellement retrouver tout espace disque significatif.

apt-get auto-remove n'est pas mauvais non plus, mais sachez qu'il est parfois erroné de supprimer le paquet, vous devez donc vérifier cette liste attentivement avant de laisser apt supprimer. Techniquement, il est préférable de purger cette liste, de cette façon, vous supprimerez également les fichiers de configuration en même temps. Supprimez ou supprimez automatiquement les fichiers si vous les laissez en place.

Lizardx
la source