Comment libérer de l’espace disque sur Linux sans supprimer les mauvais fichiers

Pourquoi le disque Linux est-il plein ?

Un disque presque saturé peut provoquer des erreurs d’écriture, empêcher une application de démarrer ou bloquer la mise à jour d’un système. Sur un serveur, le problème est particulièrement sérieux : une base de données ou un service web peut cesser de fonctionner si le système ne dispose plus d’espace pour écrire ses fichiers.

Avant de supprimer quoi que ce soit, il faut identifier la partition concernée et comprendre ce qui occupe l’espace.

1. Vérifier l’espace disque disponible

La première commande à utiliser est df :

df -h

L’option -h affiche les tailles dans un format lisible. Examinez les colonnes Size, Used, Avail et Use%. Si une partition atteint 100 %, il faut déterminer quels fichiers ou répertoires la remplissent.

Pour afficher également les types de systèmes de fichiers :

df -hT

Attention : une partition pleine n’est pas nécessairement celle qui contient le plus de données. Les journaux, les fichiers temporaires et les données d’application peuvent se trouver sur des partitions différentes.

2. Trouver les répertoires les plus volumineux

Pour examiner les principaux répertoires à partir de la racine :

sudo du -xhd1 / 2>/dev/null | sort -h

Cette commande convient aux systèmes Linux disposant d’une version de du prenant en charge ces options, notamment de nombreuses distributions GNU/Linux.

  • -x reste sur le même système de fichiers.
  • -h affiche des tailles lisibles.
  • -d1 limite l’affichage aux répertoires du premier niveau.
  • sort -h trie les résultats par taille.

Vous pouvez ensuite examiner un répertoire plus précisément. Par exemple :

sudo du -xhd1 /var 2>/dev/null | sort -h

Le répertoire /var peut contenir des journaux, des caches, des bases de données et des données d’applications. Ne supprimez pas son contenu au hasard : certains fichiers sont indispensables au fonctionnement des services.

3. Nettoyer le cache des paquets

Sur Ubuntu et Debian, le gestionnaire de paquets APT conserve les paquets téléchargés dans son cache.

Pour supprimer les fichiers de paquets qui ne sont plus nécessaires dans ce cache :

sudo apt clean

Cette opération ne désinstalle pas les logiciels installés. Elle supprime les archives de paquets téléchargées, qui pourront être récupérées à nouveau si nécessaire.

Vous pouvez aussi examiner les dépendances devenues inutiles :

sudo apt autoremove

Lisez attentivement la liste des paquets proposés avant de confirmer. Sur un serveur, vérifiez qu’aucun composant nécessaire à une application n’est concerné.

Ces commandes concernent les systèmes utilisant APT. Fedora, Arch Linux et d’autres distributions disposent de gestionnaires de paquets et de procédures différents.

4. Examiner les journaux système

Les journaux peuvent grossir rapidement lorsqu’un service génère des erreurs répétées.

Pour connaître l’espace utilisé par le journal systemd :

journalctl --disk-usage

Pour afficher les journaux les plus récents :

journalctl -n 100 --no-pager

Si les journaux occupent trop d’espace, vous pouvez appliquer une limite de conservation. Par exemple, pour demander à systemd de conserver au maximum 500 Mo de journaux archivés :

sudo journalctl --vacuum-size=500M

Cette opération supprime les anciens journaux archivés jusqu’à atteindre la limite demandée. Elle ne corrige toutefois pas la cause d’une croissance excessive. Si un service produit continuellement des erreurs, consultez ses journaux et corrigez le problème à la source.

5. Repérer les fichiers très volumineux

Pour rechercher les fichiers de plus de 1 Go sur le système de fichiers racine :

sudo find / -xdev -type f -size +1G -print 2>/dev/null

La recherche peut prendre du temps sur un serveur contenant beaucoup de fichiers. Examinez les résultats avant toute suppression.

Un fichier volumineux peut être une sauvegarde ancienne, une archive, une image de conteneur ou un fichier de données indispensable. Vérifiez son propriétaire, son chemin et le service qui l’utilise.

6. Pourquoi l’espace ne se libère-t-il pas après une suppression ?

Il arrive qu’un fichier soit supprimé, mais que l’espace utilisé ne diminue pas immédiatement. Cela peut se produire lorsqu’un processus conserve le fichier ouvert.

Pour rechercher les fichiers supprimés encore ouverts :

sudo lsof +L1

Si la commande lsof est installée, les résultats peuvent aider à identifier le processus concerné. Selon le service, un redémarrage contrôlé peut être nécessaire pour libérer l’espace. Ne redémarrez pas un service critique sans vérifier les conséquences.

7. Éviter que le disque se remplisse à nouveau

Quelques habitudes permettent de prévenir le problème :

  • Surveiller régulièrement l’utilisation des partitions avec df -h.
  • Configurer une rotation adaptée des journaux.
  • Vérifier la taille des sauvegardes et leur durée de conservation.
  • Surveiller les volumes Docker et les données persistantes si le serveur utilise des conteneurs.
  • Mettre en place des alertes avant que l’espace disponible ne devienne critique.
  • Conserver une sauvegarde vérifiée avant toute opération risquée.

Ne supprimez pas manuellement les fichiers de /var/lib, les répertoires de bases de données ou les volumes de conteneurs pour gagner rapidement de l’espace.

FAQ

Puis-je supprimer les fichiers du répertoire /tmp ?

Pas sans vérifier leur utilisation. Certains fichiers temporaires peuvent être encore utilisés par des applications. Préférez les mécanismes de nettoyage prévus par votre distribution.

La commande apt clean supprime-t-elle mes logiciels ?

Non. Elle supprime le cache des archives de paquets téléchargés, et non les logiciels installés.

Que faire si df indique un disque plein, mais que du ne trouve pas assez de fichiers ?

Vérifiez les fichiers supprimés encore ouverts avec lsof +L1, les autres systèmes de fichiers montés et les éventuelles limites propres aux volumes ou au système de fichiers.

À quelle fréquence faut-il contrôler l’espace disque ?

Sur un serveur de production, une surveillance automatique avec alertes est préférable à un contrôle manuel occasionnel. La fréquence des vérifications dépend de la vitesse à laquelle les journaux, les bases de données et les fichiers applicatifs augmentent.

Conclusion

Pour libérer de l’espace disque sur Linux, commencez par mesurer l’utilisation avec df, identifiez les répertoires volumineux avec du, puis examinez les caches, les journaux et les fichiers inutiles. La meilleure méthode consiste à comprendre l’origine de la saturation avant de supprimer des données.

Sur un serveur de production, procédez progressivement et vérifiez toujours l’impact de chaque action. Un nettoyage bien ciblé est plus sûr qu’une suppression massive de fichiers.