//[Tutorial] Riparare e deframmentare una partizione Linux

[Tutorial] Riparare e deframmentare una partizione Linux

1 vote
Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someonePrint this page

This post has already been read 2550 times!

Gli utenti Linux (smaliaziati e non) spesso pensano che il filesystem abbia bisogno di poca cura vediamo se è vero.

I filesystem Linux ext2, ext3 e ext4 non hanno bisogno di molta attenzione, ma con il tempo, dopo l’esecuzione di molte operazioni di  lettura/scrittura può essere necessaria un’ottimizzazione, per non incorrere in rallentamenti dell’intero sistema.

In questo tutorial che stiamo per mostrarvi alcune tecniche diverse per eseguire la deframmentazione sui filesystem. E’ bene sottolineare che quanto sotto esposto vale solo per i dischi non SSD.

Controlliamo prima di tutto se il filesystem necessita deframmentazione, per farlo dobbiamo utilizzare il comando e2fsck.
Dobbiamo prima di tutto smontare il filesystem (se non è quello principale) e/o riavviare in modalità recovery (nel menu di avvio selezionate Linux Recovery). L’umount è necessario in ogni caso, quindi prima di tutto vediamo l’identificativo delle partizioni montate:

df

che restituisce un output simile a questo:

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       50965704 9723220  38630516  21% /

e vediamo la tavola delle partizioni generale con il comando

sudo fdisk -l

che restituisce un output simile a questo:

Disk /dev/sda: 50 GiB, 53695545344 bytes, 104874112 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x95108215

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 103825407 103823360 49.5G 83 Linux
/dev/sda2       103827454 104873983   1046530  511M  5 Extended
/dev/sda5       103827456 104873983   1046528  511M 82 Linux swap / Solaris

Qui abbiamo due partizioni primarie (sda1 e sda2) di cui una primaria estesa che a sua volta “contiene” la partizione sda5. L’unica partizione contenente dati è la sda1 (montata su /), mentre la sda5 è di swap (memoria virtuale).

Quindi dobbiamo riavviare in recovery e smontare la partizione sda1 (in recovery siamo già root quindi il sudo non serve):

sudo umount /dev/sda1

Ora controlliamo se questa partizione richiede deframmentazione, con e2fsck. Sarà necessario eseguire il seguente comando:

sudo e2fsck -fn /dev/sda1

Il comando precedente eseguirà un controllo del file system.  l’opzione -f forza il controllo, anche se il sistema sembra pulito. Il  l’opzione -n viene utilizzata per aprire il file system in sola lettura e assumere che la risposta sia "no" a tutte le domande che possono apparire.
Se non è necessaria frammentazione e/o non ci sono errori abbiamo un output simile a quello della schermata seguente:

Ecco un altro esempio che mostra errori di sistema:

Vediamo come riparare il filesystem:

sudo e2fsck -p /dev/sda1

Con I’opzione -p  tentiamo riparazioni automatiche sul file system per i problemi che possono essere risolti in modo sicuro senza intervento umano. Per altri tipi di problemi può richiesto l’intervento dell’amministratore di sistema e l’adozione di misure correttive supplementari, e2fsck stamperà una descrizione del problema e uscirà con il codice di 4, che significa “Errori del file system non corretti”. A seconda del problema che è stato trovato, diverse azioni potrebbero essere necessarie.

E ora la deframmentazione.
Per questa operazione serve il software e4defrag probabilmente già instalalto nella nostra distribuzione, in caso contrario lo installiamo (è una utility contenuta nel pacchetto e2fsprogs), ovviamente per farlo dobbiamo uscire dalla modalità recovery:

sudo apt-get install e2fsprogs

L’utility è molto semplice da usare perchè basta lanciare (anche su partizioni montate):

sudo e4defrag /dev/sda1

Il processo è abbastanza lento.

Conclusioni

La deframmentazione è un’operazione che raramente è necessario eseguire in Linux. E ‘pensato per utenti che sanno esattamente cosa stanno facendo e non è raccomandato per i neofiti. Il punto di tutta l’azione è quello di avere il vostro filesystem ottimizzato in modo che le nuove operazioni di lettura/scrittura vengono eseguite in modo più efficiente.