Archivi tag: liberare

Svuotare una cartella (es. cartella /tmp/) piena di files

A qualcuno che vuol fare pulizia nel proprio hard disk (o l’hard disk del proprio server) può capitare di voler svuotare una cartella (ad es. l’inutile cartella /tmp/), ma dopo aver immesso il comando:

# rm -rf *

si ottiene come risultato:
/bin/rm: Argument list too long.

La soluzione per aggirare il problema è quella di combinare il comando find al comando xargs

# find . -name ‘*’ | xargs rm

Il comando find permette di individuare tutti i file che hanno un determinato nome (basato su una espressione regolare), mentre xargs è un comando che permette di gestire il passaggio di parametri da riga di comando ad altri programmi come rm, gestendo le limitazioni del sistema operativo come numero di parametri e lunghezza dei singoli parametri.

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.