L'espace disque sur ma partition racine est faible, je souhaite donc supprimer certaines applications du système. Comment savoir quels packages logiciels utilisent le plus d'espace disque? Est-il possible de voir cela à partir de aptitude
?
Je connais les analyseurs d'espace disque génériques comme df
ou baobab
, mais j'ai besoin de solutions pour les applications installées.
Le plus simple est d'exécuter wajig large
. Le package doit être un apt-install
-un moyen.
Voici deux liens pour d'autres façons de le faire:
N'oubliez pas non plus que la taille installée n'est qu'une partie de l'espace occupé par les packages. La version compressée est probablement toujours dans le cache, et cela prend aussi de la place. Vous pouvez supprimer ceux avec apt-get clean
.
La façon la plus simple (sans installer de packages supplémentaires) 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 au moins certains systèmes, cette liste inclut des packages qui ont été supprimés mais non purgés. Tous ces packages peuvent être purgés en exécutant:
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs Sudo dpkg --purge
Ou si vous ne souhaitez pas purger les packages désinstallés, vous pouvez utiliser cette variante pour filtrer les packages 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
Puisque vous voulez see which [installed] software packages use the most disk space[,] from aptitude
... bien sûr, vous pouvez utiliser aptitude
! via son interface CLI ou son caractère {interactif, TUI, non-CLI}. Voyons d'abord la CLI, puis la TUI. Quoi qu'il en soit, il vous suffit de connaître le
La ligne de commande la plus simple pour montrer quels logiciels installés utilisent le plus d'espace disque est probablement
aptitude search --sort '~installsize' --display-format '%p %I' '~i' | head
décomposons donc cela:
--sort
est l'ordre de tri des packages et ~installsize
spécifie une politique de tri des packages .installsize
signifie 'trier sur la taille installée (estimée)', et la précédente ~
signifie tri décroissant (car la valeur par défaut pour toutes les politiques de tri est ascendante).--display-format
modifie le <you guessed :->
. chaîne de format'%p %I'
indique à aptitude
de sortir le nom du package, puis la taille installée.'~i'
indique à aptitude
de rechercher uniquement les packages installés.head
ou less
ou un fichier, ou peut-être simplement wc -l
pour voir combien de lignes aptitude
retournera.Vous voudrez peut-être aussi
aptitude
à utiliser lors de l'affichage, avec --width <your desired integer value/>
. aptitude
sera par défaut ce qu'il pense être la largeur de votre terminal, mais parfois il devine mal, et parfois vous voulez écrire dans un fichier, etc.afficher plus d'informations dans votre chaîne de format ou modifier la largeur des champs. Par exemple, ma chaîne de formatage amélioré '%30p %I %r %60d'
affiche
%30p
: nom du package 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 qui dépendent de ce package%60d
: brève description du paquet dans la largeur du champ = 60 caractèresNotez que si vous ne voyez pas de modifications dans votre champ de sortie, vous devrez probablement définir --width
.
... et vous pouvez également faire ce genre de chose dans le {interactive, TUI} aptitude
. Par exemple, pour définir la préférence de format d'affichage,
%I
à la valeur actuelle dans la position souhaitéePour limiter la recherche aux packages installés dans le aptitude
interactif,
L
)~i
dans la boîte de dialoguePour trier la taille installée dans le aptitude
interactif,
S
)installsize
dans la boîte de dialogueRéférences:
aptitude
les modèles de recherche de package, voir https://aptitude.alioth.debian.org/doc/en/ch02s04s05.html#tableSearchTermQuickGuideaptitude
, voir https://aptitude.alioth.debian.org/doc/en/ch02s05s01.html#secSortingPolicyaptitude
format d'affichage de sortie, voir https://aptitude.alioth.debian.org/doc/en/ch02s05s01.html#secDisplayFormatDans le cas où vous ne souhaitez pas installer wajig. J'imagine que tout le monde a installé des goodies debian:
dpigs - Show which installed packages occupy the most space
Tout d'abord, utilisez un outil comme baobab
(Sudo apt-get install baobab
) pour vous montrer où cet espace est utilisé:
Cela vous donnera un bel aperçu graphique et vous aidera à affiner ce qui occupe votre espace. Vous pouvez également obtenir ces informations sur la ligne de commande en utilisant du
:
$ Sudo du -ch /
Passez ceci par sort
(en supposant GNU sort
, ce qui devrait être le cas dans Debian) pour trier par taille de répertoire:
$ Sudo du -ch / | sort -h
À l'étape suivante, vous pouvez voir combien d'espace un package 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 packages texlive
libérera 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
Vous pouvez utiliser le package 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 page projet .
pour 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 peuvent parfois prendre 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)
En ajoutant quelques outils supplémentaires à la liste, j'ai toujours utilisé debfoster
et deborphan
sur mes systèmes. Ils sont plus utiles pour rechercher les anciennes dépendances qui traînent après les mises à niveau.
apt-get autoremove
est génial, mais n'obtient pas tout et puisqu'il suit les repères d'installation, il ne sait pas toujours ce que vous souhaitez conserver. En utilisant apt-mark
vous permet de le diriger dans une certaine mesure, cependant.
Vérifiez également: https://wiki.debian.org/ReduceDebian
Bien qu'il s'agisse d'une belle collection d'outils, à laquelle j'ajouterais le KDE/QT Filelight, qui est similaire à d'autres outils d'utilisation de l'espace disque gui, ce n'est pas la réponse littérale au titre du sujet.
Si vous prenez la question de ce fil à la lettre, c'est-à-dire quels sont les plus gros packages de votre système, en règle générale, ce sont:
La suite de packages libreoffice, qui n'est pas un package unique, mais elle est vraiment grande.
Je pense que le noyau Linux et les packages d'en-tête associés viennent en second lieu, et si vous avez plusieurs noyaux installés, que la plupart des systèmes ont tendance à avoir, chacun est autour, je pense que l'espace disque de 135 Mo, grossièrement, augmente chaque année, mais c'est à peu près aussi gros . Si vous utilisez des pilotes vidéo non gratuits, il y aura également les packages/fichiers de pilotes associés. Notez que comme avec libreoffice, chaque noyau peut en fait être composé de 2 ou 3 packages, les packages image, header et driver, donc un littéral par nombre de tailles de package n'est pas vraiment précis, sauf pour avoir une idée grossière.
Après cela, je ne connais pas un grand nombre de paquets massifs dans le pool de paquets de Debian.
Je trouve qu'une fois que la partition racine commence à devenir suffisamment grande pour que vous vous demandiez comment vous débarrasser des packages 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 mis en cache, mais une fois que vous supprimez cela, et tout sauf dire 2 noyaux, si vous êtes toujours coincé avec pas assez de place, c'est plus pratique pour augmenter la taille de la partition car les nettoyages, etc. ne sont que des drapeaux rouges que vous exécutez près de l'espace de partition racine, ce qui peut être un vrai problème si apt n'a pas assez de place dans/var pour télécharger et extraire les paquets pour un améliorer. Le nettoyage par des actions de purge des fichiers de configuration restants des packages supprimés ne vous sera d'aucune utilité 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 les fichiers corrompus, mais cela ne devrait pas ne pas être confondu avec la récupération effective de tout espace disque significatif.
apt-get auto-remove n'est pas mauvais non plus, mais sachez qu'il est parfois faux que le paquet soit supprimé, vous devez donc vérifier attentivement cette liste avant de laisser apt supprimer le contenu. Techniquement, il est préférable de purger cette liste, de cette façon, vous vous débarrasserez également des fichiers de configuration en même temps, supprimez ou supprimez automatiquement, je pense, les laisser en place.