Come migrare i file system Ext2 o Ext3 a Ext4 su Linux

Sai che dovresti aggiornare il tuo filesystem Linux ma non puoi affrontare l’aggravamento? Ecco come convertire ext2 ed ext3 in ext4 senza lo sconvolgimento di una reinstallazione completa.

File system Linux

Se fossi gentile, chiameresti il file system ext3 venerabile, lanciato come nel lontano 2001. Per quanto riguarda povero vecchio ext2, quel filesystem risale al 1993 e non c’è altra parola per definirlo se non antico. In termini di computer, ext3 è un oggetto d’antiquariato. Ed ext2 è un ritrovamento archeologico.

Il file system moderno nel mondo Linux è ext4 che era rilasciato nel 2008. È più veloce, meno incline alla frammentazione, in grado di gestire file system più grandi e file più grandi, ha timbri di data dei file più accurati e abbiamo già detto che è più veloce? Molto più veloce.

OK, sono venduto, facciamolo

Pensiamoci bene. In realtà, probabilmente non vuoi aggiornare il tuo filesystem.

Ha più senso invece aggiornare l’intero sistema Linux. Per aggiornamento intendiamo eseguire un paio di backup dei dati, cancellare il sistema, reinstallare una distribuzione moderna e ripristinare i dati. Vai per l’aggiornamento completo. Ottieni i vantaggi di una moderna distribuzione Linux con software aggiornato e un filesystem pulito, aggiornato e appena installato.

Se non puoi eseguire un Linux moderno sul tuo hardware, anche una delle distribuzioni leggere come Lubuntu, LinuxLite o CrunchBang ++, e devi assolutamente restare con il Linux che hai, ci sono ancora avvertenze.

Per aggiornare il tuo filesystem a ext4, devi usare la versione del kernel 2.6.28 o successiva. Quindi, se non hai quella versione del kernel o una versione successiva, devi prima aggiornare il tuo kernel.

Avvertimento: non pensare nemmeno di provare questo senza soddisfare i requisiti della versione del kernel. Ti ritroverai con un computer non avviabile. Verifica quale versione del kernel stai utilizzando prima di continuare.

Assicurati di avere un disco di installazione per la versione di Linux che stai utilizzando e tienilo in stand by. L’aggiornamento del tuo filesystem non è privo di pericoli.

I backup sono la tua rete di sicurezza. Prima di fare qualsiasi cosa, esegui un paio di backup dei dati su diversi supporti di backup e assicurati di avere a portata di mano il vecchio disco di installazione di Linux. Se qualcosa va storto, puoi reinstallare il tuo vecchio Linux e ripristinare i tuoi dati.

Avrai anche bisogno di un Live CD / DVD corrente di una moderna distribuzione Linux con cui eseguire l’aggiornamento del filesystem. Quindi assicurati di avere anche uno di quelli a portata di mano.

Per inciso, questo articolo è stato ricercato utilizzando un’installazione di Ubuntu Jaunty Jackalope, che è stata rilasciata nell’aprile del 2009. Utilizzava ext3 come file system.

Ancora con noi?

John Wayne ha detto che il coraggio è stato terrorizzato ma ancora sellato comunque. Ammiro il tuo coraggio.

La prima cosa che faremo è controllare la versione del kernel con uname. Il comando uname può visualizzare diversi tipi di informazioni di sistema.

Sul tuo vecchio computer Linux apri una finestra di terminale e digita il seguente comando. Digita uname, uno spazio, -r, quindi premi Invio.

uname -r

La versione di Linux su questo computer utilizza la versione del kernel 2.6.28-11, quindi abbiamo soddisfatto i requisiti della versione del kernel.

Seriamente, se non hai soddisfatto questo requisito, fermati ora. Abbastanza vicino non è abbastanza. È necessario soddisfare o superare questo numero di versione del kernel.

Ora controlliamo gli identificatori del disco con blkid, che identifica i dispositivi a blocchi sul sistema.

blkid

blkid in una finestra di terminale

Questo sistema ha un singolo disco rigido (sda) che ha un file system su di esso (sda1) che è montato su / dev / sda1. Questo è un filesystem ext3. Questo è il filesystem che convertiremo.

C’è anche un filesystem chiamato swap, ma questo non ci interessa.

Riavvia con il Live CD

Inserisci il Live CD e riavvia il computer. Potrebbe essere necessario premere un tasto durante il riavvio per avviare il computer dal CD. Il tasto da premere verrà visualizzato durante le prime fasi del processo di avvio. Sii veloce: la finestra di opportunità non dura a lungo. Se ti manca, riavvia e riprova.

Dopo aver avviato l’ambiente Live CD, assicurati di non avviare accidentalmente un’installazione. Prenditi del tempo per leggere le opzioni che ti vengono fornite e, se ce n’è una che dice qualcosa di simile a “Prova DistributionName”, seleziona quell’opzione.

Diventa root

Apri una finestra di terminale e digita il seguente comando. Questo ti rende effettivamente root e significa che non è necessario digitare sudo prima di ogni comando.

sudo bash

sudo bash in una finestra di terminale

Notare che il prompt dei comandi è cambiato. Sei root. Procedi con cautela.

Identifica i filesystem

Dobbiamo identificare ancora una volta i filesystem per vedere come si presentano in questa istanza di Linux.

fdisk -l

fdisk -l in una finestra di terminale

Vedrai un output simile al seguente.

output da fdisk in una finestra di terminale

Il filesystem precedentemente identificato come sda1 è stato trovato e riconosciuto dal Live CD Linux. Questa è la prima mini pietra miliare.

Il secondo è convertire il filesystem.

Conversione del filesystem

Ci sono due comandi elencati qui, uno per convertire da ext2 a ext4 e uno per convertire da ext3 a ext4. Assicurati di usare quello giusto per te!

Per convertire da ext2 a ext4 usa questo:

tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda1

Per convertire da ext3 a ext4 usa questo:

tune2fs -O extents,uninit_bg,dir_index /dev/sda1

tune2fs -O extents, uninit_bg, dir_index / dev / sda1 in una finestra di terminale

È un po ‘deludente perché sembra che non succeda molto. Si torna al prompt dei comandi. Se vedi qualche output, probabilmente saranno messaggi di errore. Quindi nessuna notizia è una buona notizia qui.

Controlla il filesystem

Anche se non sono stati segnalati errori, cerchiamo di essere accurati e controllare l’intero filesystem per problemi. Useremo un comando chiamato e2fsck. Questo è uno strumento utilizzato per controllare il file integrità dei filesystem. Può anche tentare di riparare eventuali problemi rilevati. Lo strumento e2fsck funziona con i filesystem ext2, ext3 e anche ext4.

L’opzione -p (preen) fa sì che e2fsck tenti di riparare gli errori e l’opzione -f (force) fa sì che e2fsck controlli il filesystem anche se il filesystem sembra pulito.

e2fsck -pf /dev/sda1

e2fsck -pf / dev / sda1 in una finestra di terminale

Non sono stati segnalati errori. Ora possiamo provare a montare il filesystem.

Montare il FIlesystem

Abbiamo bisogno di regolare la tabella del file system (fstab) e il bootloader di grub per lavorare con il file system convertito. Per fare ciò, dobbiamo montare il filesystem. Lo monteremo su / mnt. Abbiamo identificato il filesystem come sda1 in precedenza, quindi il nostro comando è:

mount -t ext4 /dev/sda1 /mnt

mount -t ext4 / dev / sda1 / mnt in una finestra di terminale

Ora che è montato, dovremmo essere in grado di elencare il filesystem. Controlliamolo. La radice del filesystem sarà nel punto di montaggio, / mnt.

ls /mnt

mount -t ext4 / dev / sda1 / mnt in una finestra di terminale

È incoraggiante. Sembra che ce lo aspetteremmo.

Modifica fstab

Dobbiamo modificare il file fstab e cambiare qualsiasi riferimento di ext3 (o ext2, se questo è il file system da cui hai convertito) in ext4.

Il Live CD utilizzato in questo esempio contiene l’editor nano. È un piccolo editor semplice, quindi lo useremo. Se nano non è disponibile sul tuo Live CD, ci sarà un altro editor che sarà stato fornito in bundle dalla distribuzione Linux sul CD.

nano /mnt/etc/fstab

nano / mnt / etc / fstab in una finestra di terminale

Apparirà la finestra dell’editor nano. Devi cercare le occorrenze della stringa “ext3” o “ext2” e cambiarle in “ext4”. In questo esempio, si è verificata un’occorrenza di ext3, evidenziata.

finestra nano con ext3 evidenziato

L’ext3 è stato sostituito da ext4.

finestra nano con ext4 evidenziato

Devi salvare il file e uscire dall’editor. In nano Ctrl + O salverà il file e Ctrl + X chiuderà l’editor.

Aggiornamento di grub

Poiché abbiamo montato il filesystem sda1 su / mnt, i percorsi per le directory nel filesystem sono stati effettivamente spostati tutti di un livello più profondo del solito. Ecco perché il percorso che abbiamo fornito a nano era / mnt / etc / fstab invece del solito / etc / fstab.

Poiché grub si aspetta di trovare cose in certi posti, dobbiamo fare in modo che il filesystem appaia come se fosse montato normalmente. Abbiamo bisogno che la radice del filesystem sia in / e non in / mnt. Il comando chroot ci permette di eseguire una shell dei comandi e di specificare il punto radice che desideriamo utilizzare.

Il comando che usiamo è:

chroot /mnt

chroot / mnt in una finestra di terminale

Notare che il prompt dei comandi è cambiato.

Ora possiamo emettere il comando update-grub per far leggere a grub il file fstab e riconfigurarsi.

update-grub

update-grub in una finestra di terminale.

Una volta che grub si è riconfigurato, è necessario installare una nuova istanza di grub sul disco rigido. Nota che questo è il disco rigido sda, non il filesystem sda1. Non includere “1”, digita semplicemente “sda”.

grub-install /dev/sda

grub-install / dev / sda in una finestra di terminale

Riavvio di Linux

Riavvia il sistema e rimuovi il Live CD. Quando il sistema si è riavviato, apri una finestra di terminale e inserisci il seguente comando:

blkid

blkid in una finestra di terminale

Come possiamo vedere, il filesystem ora è un filesystem ext4.

La macchina su cui è stato ricercato questo articolo ha impiegato così tanto tempo per riavviarsi (oltre dieci minuti) che si presumeva che qualcosa fosse andato storto e che non sarebbe mai più tornato.

Forse era perché si trattava di una macchina virtuale, o forse parte della conversione del file system avviene durante il primo avvio. Ad ogni modo, la pazienza ha vinto e alla fine è riemersa. Se la tua macchina fa qualcosa di simile, aspetta. Non tutto potrebbe essere perduto.

I riavvii successivi sono stati rapidi come al solito.

Aggiorna invece il tuo Linux

Bene, siamo arrivati. Ma ti rimane ancora un ibrido non standard che utilizza una vecchia versione di Linux su un file system moderno.

Se passare a un nuovo filesystem è importante per te e il tuo hardware può farlo, passare a una distribuzione Linux corrente è la strada migliore da prendere. Potrai godere di tutti gli altri vantaggi in termini di sicurezza e software che ne derivano.

Tuttavia, se non c’è nient’altro da fare – e talvolta non abbiamo le opzioni che vorremmo fare – questi passaggi ti permetteranno di aggiornare il tuo filesystem.