Linux, spazio su disco esaurito (ma sono gli iNodes)

In questi giorni si è presentato un problema sul server Linux di non facile risoluzione. L’errore che appariva era “spazio esaurito sul device” (No space left on device) ma non era lo spazio, bensì gli iNodes (grazie!) che potete verificare col comando:
df -i

Nella root / avevo il 100% utilizzato senza più un iNodes libero e il problema stava nel fatto che ogni comando dava errore proprio per la mancanza di inodes disponibili. Cosa avesse causato il problema subito facevo fatica a comprenderlo e così la prima cosa da fare è cancellare qualche files “a mano”. Ho iniziato dai log in /var/log/ cancellando ricorsivamente tutti i file .gz. Ho liberato circa 300 inodes e questo mi ha permesso di eseguire un’altra operazione: spostare una directory temporaneamente.

Con questo utile comando ho identificato una directory particolarmente piena di files da spostare per liberare ulteriore spazio (es. in /var/lib):
find /var/lib -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
(il comando restituisce un elenco con numero file per ogni sottodirectory)

Per liberare qualche iNode ho spostato una directory in home che risiede su un’altra partizione (gli iNodes sono riferiti ad ogni singola partizione, su /home ero solo al 3%) e poi ho creato un link simbolico (l’ho fatto per /var/lib/dpkg/info che conteneva oltre 6000 files):
mv var/lib/dpkg/info /home/jazzo/dpkg_info/

Liberato un po’ di “spazio” son riuscito finalmente a lavorare e ad approfondire il problema.
Dopo un po’ di ricerche ho scoperto che erano ancora presenti tutte le versioni del kernel dal momento dell’installazione.
Per conoscere l’elenco di tutte le versioni presenti nel sistema:
dpkg --get-selections | grep linux-image

Schermata 2015-09-17 alle 17.49.35

Ho rimosso una ad una le vecchie versioni con questo comando (lasciando solo le ultime 2):

apt-get remove --purge linux-image-3.13.0-36-generic

Ogni versione occupava circa 150Mb e 5.000 iNodes.
A questo punto ho lanciato l’autoremove e si son liberati oltre 300.000 iNodes!
apt-get autoremove

Questa la situazione prima:
Schermata 2015-09-17 alle 17.58.10
e questa dopo!
Schermata 2015-09-17 alle 17.58.23

E così ora le versioni le cancellerò di volta in volta, senza dar sempre per scontato che lo spazio sia infinito!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *