SLBCloud
Débutant6 min de lecture

Disque plein : trouver et libérer

Repérer ce qui occupe la place en trois commandes, les coupables habituels, et le piège du fichier supprimé qui ne rend rien.

Un disque plein casse tout d'un coup : la base de données refuse d'écrire, le serveur web renvoie des erreurs, et parfois la machine ne redémarre plus. La bonne nouvelle, c'est que les coupables sont presque toujours les mêmes.

1. Confirmer

bash
df -h

Plein sans être plein

Si df -h montre de la place mais que le système refuse d'écrire, vérifiez les inodes avec df -i. Un dossier contenant des millions de petits fichiers — des sessions PHP, des caches — épuise les inodes bien avant les gigaoctets.

2. Trouver

bash
# Les dix plus gros dossiers à la racine
sudo du -h --max-depth=1 / 2>/dev/null | sort -hr | head

# Puis on descend dans le coupable
sudo du -h --max-depth=1 /var 2>/dev/null | sort -hr | head

Cette descente en escalier est plus rapide que n'importe quel outil : à chaque étage, on suit le plus gros. Pour une vue interactive, ncdu fait la même chose avec des flèches.

bash
sudo apt install ncdu && sudo ncdu /

3. Les coupables habituels

EndroitCe qui s'y accumuleComment nettoyer
/var/logJournaux jamais tournésjournalctl --vacuum-time=14d
/var/cache/aptPaquets téléchargésapt clean
/var/lib/dockerImages et conteneurs mortsdocker system prune -a
/tmpFichiers temporaires oubliésRedémarrer, ou effacer les vieux fichiers
Dossier de sauvegardesDes dumps qui s'empilentUne politique de rétention
/var/lib/mysqlJournaux binairesPURGE BINARY LOGS, ou expire_logs_days

Le nettoyage sans risque

bash
sudo apt clean
sudo apt autoremove --purge
sudo journalctl --vacuum-time=14d
docker system prune -a        # si vous utilisez Docker

Le piège du fichier supprimé

Vous effacez un journal de 10 Go, et df n'affiche pas un octet de plus. C'est normal : tant qu'un processus garde le fichier ouvert, l'espace n'est pas rendu. Il faut redémarrer le service qui le tient.

bash
sudo lsof +L1 | head          # les fichiers supprimés encore ouverts
sudo systemctl restart le-service-coupable

Vider plutôt que supprimer

Pour un journal en cours d'écriture, préférez le vider sur place : l'espace est rendu immédiatement et le service continue d'écrire sans rien remarquer. La commande est : sudo truncate -s 0 /var/log/le-fichier.log

Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.

Ouvrir un ticket