Tra i compiti di un amministratore di un server Linux c'è quello della gestione degli spazi. Avere contezza e la consapevolezza per la gestione dello spazio su disco è indispensabile anche al fine di ottimizzare le prestazioni la valutazione di cosa e come convenga agire nell’installazione di nuovi programmi e servizi.
Essendo un fautore della CLI non potevo esimermi da mostrare che anche in un campo in cui la grafica la fa da padrona la command line non è proprio "da buttar via".
Come si può effettuare un monitoraggio attraverso la CLI?
Il comando da shell che ci serve è df l’output di questo comando ci mostra lo spazio su disco disponibile all’interno del volume attualmente montato. Il comando ci consente nello specifico di determinare:
spazio utilizzato e disponibile;
capacità residua del filesystem corrente;
numero di inode disponibili - nei sistemi Unix, un inode (o i-node, abbreviazione di index node) è una struttura dati sul file system che archivia e descrive attributi base su file, directory o qualsiasi altro oggetto) ;
se c'è disponibilità e la quantità dello spazio per installare o aggiornare nuove applicazioni.
La sintassi basilare di df è quella riportata (digitare ogni singola riga seguita da Invio).
df
df /path/specifico/a/piacere
df [opzioni]
df [opzioni] /path/specifico/a/piacere
Esempi
Dopo aver aperto una finestra del terminale, se digitiamo:
df -H
avremo come output qualcosa del genere (lo spazio libero è indicato nella colonna “Available”).
Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
/dev/disk0s2 975093952 937222688 37359264 97% 117216834 4669908 96% /
devfs 360 360 0 100% 624 0 100% /dev
map -hosts 0 0 0 100% 0 0 100% /net
map auto_home 0 0 0 100% 0 0 100% /home
L’esempio successivo fornirà informazioni relative esclusivamente alla partizione o dispositivo disco che contiene la cartella home:
df -h /home
Se vogliamo visualizzare gli inode anzichè quello dei vari blocchi, digitiamo:
df -i
df -i /
oppure
df -ih /
o ancora
df -i /dev/md0
il che produrrà come output qualcosa del genere (lo spazio libero è indicato nella colonna “IFree”).
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/md0 7872512 35813 7836699 1% /
Aggiungendo anche l'opzione -T avremo informazioni anche sul tipo di filesystem:
df -T -h
in questo caso avremo come output (spazio libero: colonna "Avail"):
Filesystem Type Size Used Avail Use% Mounted on
/dev/md0 ext4 119G 1.8G 111G 2% /
tmpfs tmpfs 1002M 0 1002M 0% /lib/init/rw
udev tmpfs 1000M 260K 1000M 1% /dev
tmpfs tmpfs 1002M 0 1002M 0% /dev/shm
/dev/md2 ext4 1.5T 658G 745G 47% /data
/dev/mapper/backup
ext3 591G 78G 484G 14% /securebackup
Altre opzioni di df disponibili sono :
-a, --all
Visualizza anche quanto spazio occupano i file contenuti nelle directory specificate e nelle loro sottodirectory.
-B, --block-size=SIZE utilizza SIZE-byte blocchi
--total produce a grand total
-h, --human-readable stampa le dimensioni in un formato più user-friendly (es. 1K 234M 2G)
-H, --si utilizza potenze di 1000 anzichè 1024
-i, --inodes mostra informazioni in termini di inode anzichè blocchi
-k equivalente a --block-size=1K
-l, --local limita la lista di file e directory ai file system locali
--no-sync (attivato di default) evita di richiamare la sincronizzazione (sync) prima di ottenere informazioni riguardo il disco ed il suo utilizzo
-P, --portability usa il formato POSIX
--sync attiva sync prima di ottenere le informazioni richieste
-t, --type=TIPO limita la lista dei file esclusivamente ai file system del TIPO indicato
-T, --print-type visualizza il tipo di filesystem
-x, --exclude-type=TIPO filtra la lista dei file escludendo i file system del TIPO indicato