Questo mi lascia perplesso da tempo. Sono su Ubuntu 11.04. La mia partizione di root si sta riempiendo e non riesco a capire cosa lo stia causando. Ancora più strano, quando eseguo df -h
, questo è l'output:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.2G 8.8G 0 100% /
Come vedi, dovrebbero esserci circa 400 MB liberi, ma Avail
mostra 0. Cosa potrebbe causare questo? Ho anche disinstallato alcuni programmi per liberare spazio e si riempie di nuovo. Sono ben accetti anche suggerimenti su come scoprire quali file stanno riempiendo lo spazio.
Risposta accettata:
Un primo colpo:traffico elevato in un registro degli errori. Immagino che se dovessi scaricare video, lo sapresti. 🙂
sudo du -sh /var/log
- -s è un riepilogo
- -h è il suffisso leggibile dall'uomo (k, M, G, T)
Per me sono 20 milioni e oltre alla directory di registro c'è una cache per le installazioni. Usa
apt-get clean
Se questo è il tuo problema.
Ovviamente, dovresti controllare /home se è nella tua partizione di root.
Se devi cercare file di grandi dimensioni in modo iterativo, posso suggerirti una serie di comandi, che possono essere ripetuti ed è abbastanza veloce dopo il primo passaggio iniziale:
- Inizi da una directory sospetta di livello superiore
- Quindi cerchi tutte le sottodirectory e i file per la loro dimensione e ordina numericamente:
sudo du -s /var/* | sort -n
0 /var/crash
4 /var/www
44 /var/games
124 /var/run
2306 /var/tmp
18538 /var/log
251876 /var/cache
1053231 /var/lib
- Ho spogliato l'esempio, per farla breve. Quindi vediamo che la sottodirectory più grande è /var/lib e ripetiamo il passaggio per /var/lib. Ora la ricerca è molto più veloce, perché i risultati calcolati sono in qualche modo memorizzati nella cache:
sudo du -s /var/lib/* | sort -n
78116 /var/lib/apt-xapian-index
104580 /var/lib/dpkg
680503 /var/lib/postgresql
e così via. Segui le directory più grandi per trovare i file più grandi. Non puoi usare -sh qui, perché l'ordinamento numerico non funziona con k/M/G/T per kilobyte e così via.