Ubuntu se plaint que mon système de fichiers racine est presque plein, mais lorsque j'utilise baobab
(ou "Disk Usage Analyzer") ou du -h
, il résume également l'utilisation de tous les autres systèmes de fichiers montés.
Comment puis-je exclure les autres systèmes de fichiers montés dans des sous-répertoires variés?
baobab: Si vous voulez utiliser baobab, cela est possible en montant le système de fichiers racine à un autre endroit et en l’analysant. De cette façon, les autres systèmes de fichiers ne seront pas montés dans le nouveau montage racine et tous les fichiers cachés par les montages sous /
seront découverts et comptés dans votre analyse.
En supposant que votre système de fichiers racine est sur sda1
(df
vous dira quel périphérique il est):
mkdir root-rebound
Sudo mount /dev/sda1 root-rebound
baobab root-rebound
et ranger quand vous avez fini:
Sudo umount root-rebound
rmdir root-rebound
Sinon, vous pouvez démonter les systèmes de fichiers manuellement. Vous pouvez également analyser uniquement votre dossier de base, car il contiendra très probablement la source de l'utilisation excessive de l'espace disque.
d a deux options qui empêchent de compter d'autres systèmes de fichiers:
-x, --one-file-system skip directories on different file systems --exclude=PATTERN exclude files that match PATTERN
Ainsi,
du -hx
ignorerait tous les autres systèmes de fichiers montés ou
du -h --exclude /media
ignorerait tous les fichiers de /media
où la plupart des systèmes de fichiers sont montés.
Si vous utilisez du
, triez-le de manière à ce que les éléments les plus importants apparaissent en bas de la liste pour aider à déchiffrer la sortie. par exemple:
du -hx | sort -h
Selon le type de système de fichiers, il est possible que vous ne soyez pas autorisé à monter le système de fichiers racine sur un point de montage sous /
. Vous obtiendrez quelque chose de similaire à ceci:
mount: /dev/sda1 already mounted or /mnt busy
mount: according to mtab, /dev/sda1 is mounted on /
Le montage en lecture seule (-o ro
) peut aider. Si cela échoue, utilisez un montage lié:
mount --bind / /mnt
Une fois monté, utilisez n'importe quel outil pour analyser l'utilisation du disque, à savoir du -sh * | sort -h
This Le rapport de bogue explique comment il est possible de configurer baobab pour ignorer les répertoires. Malheureusement, vous ne pouvez pas le faire dans l'application elle-même, mais vous devez utiliser dconf-editor
et ouvrir org.gnome.baobab.preferences
. Ici vous trouverez un article excluded-uris
; changez ceci en ['file:///path/to/ignore']
(travaillé avec des guillemets simples pour moi).
Baobab tente de vous donner le contrôle des périphériques/partitions que vous analysez - allez à Edit->Preferences
. Généralement, vous souhaitez uniquement analyser le périphérique au point de montage /
. Cela ne reconnaît pas tous les types de liens/montages/liaisons bien, donc, en fin de compte, Baobab peut toujours produire des résultats confus si vous avez une configuration non triviale.
Pour du
name__, la fonction Shell suivante appelée dutop
affichera le niveau supérieur du dossier spécifié (ou du dossier actuel). Avec cela, vous pouvez sonder les sous-dossiers un par un.
function dutop() { du --max-depth=1 --one-file-system -h $@ |sort -h; }
Cela générera probablement des erreurs "Autorisation refusée" sans conséquence si vous l'appliquez à /
, mais vous pouvez les résoudre avec une pensée semblable à celle ci-dessous, qui vous demandera votre mot de passe (si vous ne l'avez pas récemment fourni).
function sudutop() { Sudo du --max-depth=1 --one-file-system -h $@ |sort -h; }
Pour les grands dossiers, cela peut prendre un certain temps. Ils ne signaleront aucun statut incrémentiel car l'opération de tri met en mémoire tampon tous les résultats intermédiaires. C'est bien d'avorter avec Ctrl-C si vous en avez assez d'attendre.