Erreurs

❌ Erreur Linux "No space left on device" — Causes et Solutions

🐧 Erreur Linux

Disque plein — plus d'espace disponible sur le système de fichiers

🐧 Linux 📋 6 causes 🔧 5 solutions
L'erreur No space left on device (ENOSPC) signifie que le système de fichiers est plein. Elle peut aussi survenir quand les inodes sont épuisés même si de l'espace est disponible.

⚠️ Causes possibles

⚠️
Logs trop volumineux
journald, nginx, apache, mysql remplissent /var/log
⚠️
Cache APT non nettoyé
/var/cache/apt/archives/ accumule les paquets téléchargés
⚠️
Images Docker inutilisées
docker images, volumes et containers arrêtés occupent /var/lib/docker
⚠️
Inodes épuisés
Trop de petits fichiers (mails, sessions) même si l'espace est disponible
⚠️
Core dumps
/var/lib/systemd/coredump/ accumule les dumps de crash
⚠️
Backup ou logs applicatifs
Logs rotatifs non configurés, backups qui s'accumulent

🔧 Solutions étape par étape

1

Diagnostiquer l'espace disque

terminal
# Vue globale des systèmes de fichiers
df -h

# Trouver les dossiers qui prennent le plus de place
du -sh /* 2>/dev/null | sort -rh | head -20
du -sh /var/* 2>/dev/null | sort -rh | head -10
du -sh /home/* 2>/dev/null | sort -rh

# Voir les fichiers les plus gros
find / -type f -size +100M 2>/dev/null | xargs ls -lh | sort -k5 -rh | head -20

# Vérifier les inodes
df -i
2

Nettoyer les logs système

terminal
# Voir la taille des journaux systemd
journalctl --disk-usage

# Nettoyer les journaux anciens
journalctl --vacuum-time=7d      # Garder 7 jours
journalctl --vacuum-size=200M    # Limiter à 200MB

# Configurer la rétention dans /etc/systemd/journald.conf
SystemMaxUse=200M
MaxRetentionSec=7day

# Logs /var/log classiques
find /var/log -name "*.gz" -delete
find /var/log -name "*.old" -delete
truncate -s 0 /var/log/syslog
3

Nettoyer APT

terminal
# Nettoyer le cache APT
apt clean              # Supprimer tous les paquets en cache
apt autoclean          # Supprimer uniquement les versions obsolètes
apt autoremove         # Supprimer les paquets orphelins

# Voir la taille du cache
du -sh /var/cache/apt/archives/

# Voir et supprimer les anciens kernels
dpkg --list | grep linux-image
apt remove --purge linux-image-5.15.0-XX-generic
4

Nettoyer Docker

terminal
# Vue globale de l'espace Docker
docker system df

# Tout nettoyer (containers, images, volumes inutilisés)
docker system prune -a --volumes

# Nettoyer seulement les images inutilisées
docker image prune -a

# Supprimer les volumes orphelins
docker volume prune

# Supprimer les containers arrêtés
docker container prune
5

Trouver et supprimer les gros fichiers

terminal
# Trouver les fichiers > 1GB
find / -type f -size +1G 2>/dev/null -exec ls -lh {} \;

# Core dumps
find /var/lib/systemd/coredump/ -delete 2>/dev/null
find / -name "core" -type f -delete 2>/dev/null

# Fichiers temporaires
rm -rf /tmp/*
rm -rf /var/tmp/*

# Vider la corbeille (si desktop)
rm -rf ~/.local/share/Trash/*

🛡️ Comment éviter cette erreur

  • ✅ Configurer logrotate pour tous vos services — vérifier /etc/logrotate.d/
  • ✅ Limiter la taille des journaux systemd : SystemMaxUse=500M dans journald.conf
  • ✅ Mettre en place une alerte Zabbix sur l'espace disque à 80% et 90%
  • ✅ Planifier un docker system prune hebdomadaire avec cron si vous utilisez Docker
  • ✅ Utiliser LVM pour pouvoir étendre les volumes sans redémarrage
Ajouter Les Fibrés à mes sources préférées
Retrouvez plus souvent nos guides dans vos résultats Google