Tutti gli utenti di Windows conoscono l'esistenza della deframmentazione del disco. È necessario che il disco rigido funzioni rapidamente ed è necessario deframmentare il disco su cui è installato il sistema operativo. Il file system Ext4 di Linux non è soggetto a frammentazione. In pratica, però, è noto che in caso di lavoro prolungato sul sistema, si accumula una certa frammentazione. A seguire, vi spiegheremo in dettaglio come deframmentare correttamente un disco in Linux. Per farlo, prenderemo in considerazione l'esempio del file system Ext4.
Che cos'è la frammentazione? Vediamo la teoria: un disco rigido è composto da un gran numero di piccoli settori, ognuno dei quali contiene un piccolo pezzo di dati. I file di grandi dimensioni vengono suddivisi in diversi frammenti più piccoli.
Ma Ext4 non frammenta come altri file system perché alloca lo spazio dopo il file scritto. E anche se si verifica una frammentazione, cerca di spostare il file nello spazio libero. La frammentazione si verifica quando il file system è pieno, ma questo è un caso raro.
I dischi SSD non hanno bisogno di deframmentazione. Non ci sono parti in movimento.
Quando un utente scrive un file in un sistema FAT o NTFS, viene allocata una certa quantità di risorse per questa operazione, quindi vengono scritti i file successivi. Se è necessario aggiornare il file e aggiungere informazioni, verranno utilizzati altri settori in un'altra parte del disco.
In presenza di un numero elevato di file di questo tipo, il file può essere distribuito sull'intero disco, il che significa che in caso di operazioni di lettura sarà necessario spostare la testina di lettura, con conseguente rallentamento delle prestazioni. Questo è il significato della frammentazione.
Utilizzate l'utilità fsck
per valutare la frammentazione del disco. Passare l'opzione -f
. Usare l'opzione -n per evitare modifiche importanti al file system:
$ sudo fsck -fn /dev/sdb1
/dev/sdb1
è la partizione di verifica. Non eseguire la verifica su un sistema montato, si verificheranno falsi errori; se non vengono eseguite azioni sul file system, non ci saranno danni. L'utilità e4defrag
vi aiuterà a eseguire la deframmentazione; si trova nella cartella e2fsprogs
.
Se non avete ancora installato questo set di utilità, installatelo con il comando:
$ sudo apt install e2fsprogs
Successivamente, è possibile eseguire la deframmentazione della partizione desiderata. Lo stesso /dev/sdb1
. Montiamo la partizione prima della deframmentazione:
$ sudo mount /dev/sdb1 /mnt
Poi deframmentazione Ext4:
$ sudo e4defrag /dev/sdb1
Successivamente, è possibile verificare nuovamente la frammentazione. Smontare la partizione prima di questa operazione. Frammentazione 0%:
$ sudo fsck -fn /dev/sdb1
Questo è tutto. Non perdete tempo a deframmentare le unità SSD. Non ne hanno bisogno.