Un serveur peut sembler plein alors que df -h ne vous dit pas encore quel dossier a grossi. Logs, sauvegardes oubliées, caches ou données applicatives : supprimer au hasard est le moyen le plus rapide de casser autre chose. ncdu permet de parcourir l’occupation disque dans un terminal et de remonter jusqu’au répertoire qui prend réellement la place.
Utilisez-le pour analyser d’abord, puis vérifiez ce que vous avez trouvé avant toute suppression. Sur une machine de production, ce second temps évite de confondre un vieux fichier temporaire avec les données d’une base ou d’un conteneur actif.
Installer ncdu puis choisir le bon point de départ
Sur Debian ou Ubuntu, installez le paquet avec apt. Les distributions Fedora et Arch proposent aussi ncdu dans leurs dépôts courants :
sudo apt update
sudo apt install ncdu
# Fedora, RHEL avec les dépôts adaptés
sudo dnf install ncdu
# Arch Linux
sudo pacman -S ncdu
Commencez par le système de fichiers qui pose problème. Si df -h indique que la partition racine est presque pleine, lancez :
sudo ncdu -x /
L’option -x garde l’analyse sur le même système de fichiers. Un montage NFS, un disque USB ou une partition séparée sous /home ne viendra donc pas fausser le résultat. Pour un incident localisé, viser directement /var ou /home est souvent plus rapide :
sudo ncdu -x /var
sudo ncdu -x /home
Lire l’arborescence sans prendre le premier gros dossier pour une erreur
ncdu affiche les dossiers du plus lourd au plus léger. Déplacez-vous avec les flèches, ouvrez un répertoire avec Entrée et remontez avec la touche gauche. Descendez jusqu’à obtenir un chemin précis, par exemple un journal dans /var/log, une ancienne sauvegarde ou un cache applicatif.
Un dossier volumineux n’est pas forcément à supprimer. Avant d’agir, regardez son propriétaire, sa date et son rôle. Un répertoire PostgreSQL, Docker ou une sauvegarde récente peut occuper beaucoup d’espace parce qu’il est attendu. Utilisez par exemple :
sudo ls -lah /chemin/repere
sudo find /chemin/repere -maxdepth 1 -type f -printf '%TY-%Tm-%Td %10s %pn' | sort
Cette vérification donne des noms et des dates avant toute décision. Pour retrouver un fichier selon son âge ou sa taille, le guide find sous Linux complète bien cette étape.
Quand ncdu ne voit pas l’espace réellement bloqué
Un fichier supprimé peut rester ouvert par un service. Il ne figure alors plus dans l’arborescence, mais son espace reste réservé jusqu’à l’arrêt ou au rechargement du processus. Si df -h reste très haut alors que ncdu ne retrouve pas le volume attendu, cherchez ces fichiers supprimés mais encore ouverts :
sudo lsof +L1
Ne tuez pas le processus uniquement pour récupérer quelques gigaoctets. Identifiez le service, lisez ses logs et choisissez un redémarrage maîtrisé. Le tutoriel lsof sous Linux explique comment relier un fichier à son processus sans arrêter le mauvais service.
Garder un relevé avant le nettoyage
Sur une machine difficile à analyser ou avant une intervention partagée, exportez le relevé plutôt que de lancer la suppression depuis l’interface de ncdu :
sudo ncdu -x -o /root/ncdu-racine.json /
sudo chmod 600 /root/ncdu-racine.json
Le fichier exporté contient des chemins et parfois des noms de fichiers sensibles. Conservez-le localement, avec des droits restrictifs, puis supprimez-le quand il ne sert plus. Vous pouvez le relire avec ncdu -f /root/ncdu-racine.json.
Avant de libérer de l’espace, comparez toujours le résultat avec les commandes à utiliser lorsqu’un disque Linux est plein. ncdu trouve le dossier qui grossit. La validation du service concerné vous dit si ce dossier peut réellement être nettoyé.
