Translation(s): Deutsch - English - Italiano
Liberare spazio su disco
Questa pagina tratta i modi per scoprire quanto dello spazio di archiviazione del sistema è usato e come liberarne un po'.
Per una descrizione di come ridurre l'impronta di un'installazione Debian vedere Ridurre Debian.
Contents
- Liberare spazio su disco
- Vedere l'uso di partizioni e dischi
- Vedere quali directory usano la maggior parte dello spazio su disco
- Vedere quali pacchetti stanno usando più spazio su disco
- Trovare cose da eliminare
- Strumenti per alterare i file per rimpicciolirli
- Ridurre la creazione dei dati
- File system
- Archiviazione offline
- Compressione dei file
- Desiderata
- Vedere anche
Vedere l'uso di partizioni e dischi
Prima di tutto, per vedere le partizioni esistenti, usare:
sfdisk -l
Poi, per controllare quali partizioni stanno diventando piene usare:
$ df -lhT
- o
$ df --local --human-readable -T Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 100M 77M 33M 77% / ...
Partizioni piene
Se una partizione diventa piena il sistema può non funzionare correttamente.
Quando la directory Home di un utente diventa piena, l'utente non potrà più salvare alcun file e alcune applicazioni possono rifiutarsi di avviare correttamente.
Quando la directory temporanea (/tmp) diventa piena, molte applicazioni falliscono con messaggi di errore del tipo:
cannot create temp file for document: No space left on device
Vedere quali directory usano la maggior parte dello spazio su disco
Ci sono diversi strumenti per vedere quali directory stanno usando la maggior parte dello spazio su disco in un sistema Debian, come baobab (GUI) o il programma a riga di comando du nel pacchetto coreutils che può essere usato in questo modo:
/usr/bin/du --total --summarize --human-readable --one-file-system
Vedere anche ncdu.
Ncdu è un visualizzatore dell'uso del disco basato su ncurses. Fornisce un'interfaccia veloce e facile da usare e permette di navigare le directory, di mostrare la percentuale di uso del disco e di eliminare file non desiderati.
Vedere quali pacchetti stanno usando più spazio su disco
Riga di comando
- I pacchetti dei kernel sono molto grandi; le vecchie versioni non vengono rimosse automaticamente per ragioni di sicurezza.
Per elencare i pacchetti che usano più spazio usando aptitude in modalità visuale, selezionare Viste → Nuovo elenco unico dei pacchetti (questa voce di menu è disponibile solamente a partire dalla versione etch), premere l e inserire ~i, premere S e inserire ~installsize; si ottiene così un bell'elenco con cui lavorare. Per avere accesso a questa nuova funzionalità bisogna aver aggiornato aptitude.
In lenny, aptitude ha "why" e "why-not".
aptitude why pacchetto1
mostra perché è stato installato pacchetto1.
aptitude why pacchetto1 pacchetto2
cerca di capire perché installare il pacchetto1 comporterebbe l'installazione di pacchetto2.
"why-not" guarda i conflitti.
Questi comandi forniscono solo una possibile spiegazione. Per avere informazioni conclusive controllare /var/log/aptitude.
Uso di aptitude per elencare pacchetti raccomandati o suggeriti che non sono installati:
aptitude search '~RBsuggests:~i!~i'
Per elencare i pacchetti aggiornabili:
aptitude search '~U'
Per elencare i pacchetti installati manualmente:
aptitude search '~i!~M'
Per installare senza i pacchetti raccomandati ma non disinstallando gli altri raccomandati:
aptitude install -R -o Aptitude::Keep-Recommends=true
Per elencare i pacchetti in ordine crescente di dimensione:
aptitude -F '%I %p' search '~i'|egrep '^[0-9]+[\.,]?[0-9]* [MG]B'|sort -n
Rimuovere un po' di sporco
Eliminare file di configurazione obsoleti:
aptitude purge ~c
Take a look at the Debian Cleanup Tips at http://raphaelhertzog.com/mastering-debian/.
Uso di dpigs (debian-goodies):
dpigs -n50
Uso di wajig :
wajig size
Ordinare i pacchetti installati in base alla dimensione:
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
Interfaccia grafica
synaptic, andare nei pacchetti installati e cliccare sulla colonna della dimensione.
Trovare cose da eliminare
Directory definitivamente sacrificabili
Temporanee
/tmp /var/tmp
Il contenuto di queste directory è solo pensato per essere usato nel breve termine o mentre un programma è in esecuzione ed è generalmente eliminabile.
File di registro
/var/log
Cache
i pacchetti in /var/cache/apt/archives di solito occupano un po' di spazio. Come utente root o usando sudo, si può eliminarli con:
apt-get clean
o
aptitude clean
Usare apt-get autoclean se si desiderano rimuovere i vecchi pacchetti per i quali si ha anche il pacchetto più recente.
Spool
Le cose in
/var/spool
sono pensate per essere elaborate ma possono essere sacrificabili.
Strumenti a riga di comando per vedere i file usati raramente
Questi strumenti funzionano solo se i filesystem sono solitamente montati con l'opzione strictatime.
/usr/bin/find
In questo caso, sono particolarmente interessanti le seguenti opzioni.
-mtime
-atime (se il vostro sistema ha l'opzione atime abilitata, che non è il default in Linux)
-size
Gestire i duplicati
Quando si trovano duplicati si possono creare collegamenti fisici, se i duplicati sono sullo stesso file system, oppure si possono eliminare i duplicati per rendere unici i file rimanenti.
Strumenti di ricerca
duff può comparare l'intero contenuto dei file, ma non in modo predefinito.
fdupes può rimuovere; compara l'intero contenuto dei file.
fslint fa anche altri compiti di manutenzione e riduzione delle dimensioni.
hardlink può convertire duplicati in collegamenti fisici.
rdfind può creare collegamenti fisici o rimuovere; non compara l'intero contenuto dei file. Attenzione: per il confronto usa MD5 in modo predefinito e può produrre falsi positivi; si può specificare piuttosto SHA1.
File non desiderati
Pacchetti non desiderati
deborphan L'interfaccia utente testuale è fornita dal programma orphaner.
gtkorphan Interfaccia grafica per deborphan.
popularity-contest Richiede l'opzione strictatime per il file system e un server di posta locale; eseguire popularity-contest | sort > popcon .
Strumenti per alterare i file per rimpicciolirli
Usare strip su dbus-daemon smaschera un bug in BFD. L'esecuzione di find /usr/bin -not -name strip -and -not -name dbus-daemon -execdir strip --strip-unneeded '{}' \; ha ridotto la dimensione del contenuto della directory in un'installazione Squeeze da 140MB a 120MB.
Non comprimere bash o i propri script andranno in crash. Gli eseguibili compressi possono aver bisogno di più memoria per essere eseguiti.
Convertire gli spazi in tabulazioni
Convertire gli spazi in tabulazioni può ridurre la dimensione dei file di testo, anche se la differenza è di solito minima. Per questo esempio sono necessari i comandi find in findutils, unexpand in coreutils e rewrite, che si può trovare su https://oss.ezic.com ma non è disponibile come pacchetto.
find -type f -writable -name '*.txt' -exec rewrite '{}' 'unexpand --all' \;
Ridurre la creazione dei dati
Usare la riga seguente come file di configurazione di /etc/rsyslog.conf allo scopo di non salvare i file di registro ma di mandare il loro output sul terminale virtuale 12:
*.* -/dev/tty12
In quei casi in cui un collegamento simbolico non funzionerebbe, si può fare in modo che l'output che andrebbe in file venga diretto in /dev/null, come in questo esempio che ridirige l'output di .xsession-errors:
mknod .xsession-errors c 1 3
Nei sistemi in esecuzione da molto tempo si può considerare l'idea di rimuovere o comprimere i vecchi file di registro; logrotate può essere di aiuto.
File system
ReiserFS è in grado di archiviare più file di piccole dimensioni e gli estremi dei file di grandi dimensioni in blocchi condivisi, risparmiando spazio.
Per i file system a blocchi che non mettono parti di più di un file in un blocco, come Ext4FS: utilizzare una dimensione dei blocchi diversa per il file system può risparmiare spazio a seconda delle dimensioni dei file memorizzati. Una dimensione del blocco di 1KB riduce l'uso dello spazio rispetto a 4KB per un'installazione di Debian.
A livello applicazione / In spazio utente
- Gli archivi in formato GVFS Zip possono essere montati da GVFS.
fuse-utils Ci sono molti file system che offrono la compressione e che funzionano via FUSE.
In Linux
- squashfs solo in lettura
Poca certezza di un'elevata affidabilità
Questi file system potrebbero non essere abbastanza affidabili per l'archiviazione di dati critici.
- Reiser4FS
- BTrFS
Disabilitare i blocchi riservati su ExtFS
ExtFS riserva, in modo predefinito, il 5% del file system per l'utente 'root' come misura di sicurezza. Per disabilitare questa funzionalità:
tune2fs -r 0 /dev/sda2
Può essere fatto anche su un file system montato.
Archiviazione offline
Si possono spostare dati in un'archiviazione non in linea, come dischi ottici rimovibili o dischi su un bus dati esterno (come Firewire o USB).
Se si ha una fonte in sola lettura, come un disco ottico scrivibile una sola volta, un file system sovrapposto unificato come aufs o "union mount" di Linux può salvare i cambiamenti in un file system scrivibile, risparmiando all'utente lo spazio delle porzioni immutate. La stessa cosa può essere ottenuta con istantanee di file system come con Linux Volume Manager (lvm2).
Compressione dei file
I seguenti pacchetti forniscono programmi per comprimere dati senza perdita e possono operare tramite pipe o direttamente sui file:
Articolo sulle compressioni in parallelo
Desiderata
compressione con perdita di dati.
uso delle quote, come usrquota, groupquota, waringquota in quota
Vedere anche
Ridurre Debian - Ridurre la dimensione dell'impronta di un'installazione Debian