Linux – Spazio su disco esaurito, ma lo spazio c’è! Soluzione: Inodes esauriti!

Una strana situazione che, talvolta, si può presentare su server linux che stanno accesi da anni è quella di ottenere il messaggio: No space left on device. A questo punto l’operazione più logica da fare è digitare

df -h

ma quando si scopre che c’è ancora spazio su disco disponibile, c’è subito da accertarsi con il comando

df -i

che gli Inode non siano terminati.

Qualora il comando restituisca il 100% utilizzato, allora è il momento di individuare in quale directory sono contenuti (una miriade) i file che impegnano tutta la tabella del filesystem.

a questo punto è sufficiente digitare il comando

for i in /*; do echo $i; find $i |wc -l; done

che elencherà tutte le cartelle contenute nella root / con il numero di file contenuti. Individuata un cartella contenente molti file (per esempio /var/), basta andare nel dettaglio col comando

for i in /var/*; do echo $i; find $i |wc -l; done

Una volta individuata la cartella, verosimilmente contenente dei file temporanei, di spool, o una cartella utente che si è riempita nel tempo, basta svuotare la cartella con il comando:

rm -rf /percorso/con/una/miriade/di/file

digitando df -i la situazione dovrebbe tornare sotto controllo. Al più è consigliabile fare un riavvio della macchina per assicurarsi che tutto riparta correttamente.