Dopo gli aggiornamenti di una rolling,
o l’aggiornamento di versione di una Ubuntu,
potremmo avere tutto l’indispensabile per usare il nuovo filesystem ext4,
ma come fare per cambiare il “vecchio” ext3
senza dover reinstallare tutto daccapo perdendo tutto il nostro sudato “fine tuning”?
Facile con alcuni accorgimenti.
Innanzitutto verificare che il grub supporti ext4.
Anche se il pacchetto è stato aggiornato,
non è detto che i file presenti in /boot/grub lo siano.
Aprite il file
/boot/grub/device.map
che dovrebbe contenere qualcosa come
(hd0) /dev/sda
(hd1) /dev/sdb
Segnatevelo da qualche parte e chiudetelo.
Ora da terminale aggiornate i file di /boot/grub con
sudo grub-install --no-floppy --recheck /dev/sda
dove
--no-floppy si usa solo se non avete un floppy disk altrimenti omettetelo
/dev/sda mettete il primo device che avete letto nel device.map sopra.
Fatto, ora riaprite il /boot/grub/device.map e vedete che sia come prima, nel caso sia cambiato l’ordine dei device rimetteteli a posto com’erano.
Ora riavviate e fate il boot con un cd live che supporti il fs EXT4.
Da terminale trasformate la partizione ext3 con il comando
sudo tune2fs -O extents,uninit_bg,dir_index /dev/DEV
poi DOVETE fare un check della partizione
sudo fsck -pf /dev/DEV
che richiederà alcuni minuti.
Maggiori informazioni e dettagli ext4.wiki.kernel.org/index.php/Ext4_Howto
Al termine montate la partizione esempio
mkdir /tmp/montata
sudo mount /dev/DEV /tmp/montata
ed editate il file /etc/fstab
sudo nano /tmp/montata/etc/fstab
al posto di nano potete usare gedit se siete in un ambiente grafico gnome,
o altro editor di testo.
Nel fstab cambiate la dicitura ext3 della partizione che avete convertito in ext4.
es: / ext3
in: / ext4
Salvate e chiudete.
Rivviate levate il cd della live, e godetevi ext4.
Nota.
In un sistema multiboot è essenziale che il grub della distibuzione che fornisce il menu.list che vedete all’avvio supporti ext4.
Nel mio caso il il grub di avvio è su una Ubuntu 8.04
il cui grub ovviamente non supporta ext4,
è stato quindi necessario prelevare i sorgenti .orig ed i .diff di grub e grub-common della 9.04,
ricompilarli con debuild binary con un semplice backporting nel file debian/control,
ed installare solo due dei pacchetti generati:
grub_0.97-29ubuntu49_i386.deb
grub-common_1.96+20080724-12ubuntu2_i386.deb
Ovviamente se scaricate i pacchetti già fatti per la 9.04, non potrete installarli per ovvie dipendenze non soddifatte quindi vi dovete fare il backporting.
Installati i 2 pacchetti creati ho eseguito come sopra
sudo grub-install --no-floppy --recheck /dev/sda
ed il gioco è fatto.






Ciao Telperion,
hai notato differenze prestazionali finora?
Poi una cosa semi-ot: Ma tu come lo gestisci il multiboot? Il disco com’è partizionato?
Io ho una partizione /boot a parte sul disco, condivisa tra tutte le distro. Mi chiedevo se fosse possibile invece avere una directory /boot per ogni distribuzione all’interno della sua partizione di root.
Commento di stefanauss — marzo 1, 2009 @ 7:31 PM
@stefanauss: Io ho una /boot per ogni OS, anche se poi GRUB legge solo la /boot che gli interessa, ovvero per me Ubuntu (sovrascrittura dopo installazione).
@telperion: Ottima guida, la metterò in pratica presto 😀
Commento di Bl@ster — marzo 1, 2009 @ 8:25 PM
si non confondete /boot con “il grub” che fa il boot, che è sempre solo uno, e contano appunto i file in /boot/grub di quello, gli altri nelle altre /boot sono ininfluenti.
Commento di telperion — marzo 1, 2009 @ 11:33 PM
[…] vs EXT4 prima e dopo la cura. Archiviato in: Varie — telperion @ 12:17 am Bene dopo la migrazione ad ext4 qualche test di lettura e scrittura […]
Pingback di EXT3 vs EXT4 prima e dopo la cura. « Tecnologia e non solo — marzo 2, 2009 @ 12:17 am
Grazie a Blaster e Telperion per le risposte.
Ma se contano i file solo in uno dei “/boot/grub” (quello attivo), là essenzialmente ci sta solo menu.lst. Le immagini e gli initrd dei vari kernel vengono ancora letti nelle corrispondenti directory “/boot” che li contengono (a seconda di quello che si vuole avviare), giusto?
Commento di stefanauss — marzo 2, 2009 @ 12:58 am
@stefanauss
si, ma possono essere lette sono le partizioni che sono “leggibili” dai vari stage1_5 e stage2 della cartella grub, visto che gli initrd ancora non sono in memoria e bisogna pur leggerli dal disco.
Commento di telperion — marzo 2, 2009 @ 1:19 am
è sbagliato !
cosi’ converti la partizione ma non sfrutti ext4 sui file già scritti
se vuoi fare come dici tu devi farti un backup della partizione, formattare in ext4 e riversare il contenuto
🙂
Commento di LuNa — marzo 2, 2009 @ 11:16 am
@LuNa
cambia poco, come vedi qui
in lettura non ci sono guadagni di ext4 su ext3, il guadagno c’è solo in scrittura appunto, quindi visto che dopo la conversione i file vengono scritti in ext4 ottieni comunque tutti i vantaggi senza perdere tempo con backup e ripristino.
Poi naturalmente con l’aggiornamento dei pacchetti e configurazioni che sovrascrivono i file, diventerà tutto ext4 nel tempo.
Io ho la sda15 convertita e la sda9 “restorata” e non cambia nulla in lettura, lasd15 è lenta in scrittura perchè è sfavorita (ultima partizione di un 500GB) dalla geometria del disco.
Tieni presente che ext4 è solo un’estensione della 3, convertendo gli i-node sono comunque tutti ext4, i cambi più grossi sono nella “strategua di scrittura” appunto.
Commento di telperion — marzo 2, 2009 @ 11:33 am
@telperion
sono d’accordo sul fatto che cambia poco, ho scritto così perchè ti “conosco” come utente che fa le cose per bene e non una “mezza schifezza” di questo tipo. da te ho imparato tantissime cose, un esempio che tu mi hai fatto tante e tante volte: che ci vuole a fare un cp -ax per avere una copia di sicurezza delle amate distribuzioni, quindi, seguo la tua filosofia e te la ricucino: che ci vuole a fare un cp -ax, formattare, e riversare ? 🙂
la procedura che proponi, benchè funzionante non è “alla telperion”, tutto qui 😉
Commento di LuNa — marzo 2, 2009 @ 12:40 PM
La procedura di conversione invece la consiglio,
non cambia praticamente nulla rispetto a ext4 “pura”, e non tutti hanno spazio disco, tempo e conoscenze per fare un backup-restore dei file.
Io stesso dopo un periodo di test, farò così per “migrare” Archlinux Gentoo e Sid, toccato con mano che non val la pena di perdere tempo a fare copia e restore.
Detto questo i backup se si ha spazio sempre bene farli.
Commento di telperion — marzo 2, 2009 @ 1:30 PM
Quello che mi sfugge è se si possono convertire le partizioni ext3 cifrate.
Mi sa che formattero’, che tanto vorrei anche cambiare l’ordine dmcrypt/LVM, ma in ogni caso non ho trovato info sul layer cifrato per EXT4 …
se avete puntatori, fate sapere, grazie.
ah, nel wiki che linki, hanno scritto Ark Linux :-), nessuno di voi arcieri vuole sistemare la faccendA?
Commento di scimmia — marzo 2, 2009 @ 2:02 PM
@scimmia
non so, non ho nessuna esperienza con le partizioni cifrate
Commento di telperion — marzo 2, 2009 @ 2:39 PM
mi sono messo a rispulciare dopo aver letto il tuo articolo, ché mi hai fatto tornar voglia… adesso ho notato che altra gente ha posto la domanda in giro… vedro’ di spulciare le risposte e magari a far pure na prova… dopo il backup. 🙂
Commento di scimmia — marzo 2, 2009 @ 3:00 PM
@scimmia: “ah, nel wiki che linki, hanno scritto Ark Linux 🙂 , nessuno di voi arcieri vuole sistemare la faccendA?”
no, nessuno, perchè *è* ark linux
http://www.arklinux.org/
😉
Commento di LuNa — marzo 2, 2009 @ 10:27 PM
@luna: ma non era una fantadistribuzione del primo aprile?
altrimenti: autolol 🙂
Commento di scimmia — marzo 3, 2009 @ 10:52 am
[…] dire che ho provveduto a ripristinare in ext3 i sistemi in uso migrati a ext4, tenendone un paio per test, peccato perchè l’aumento di velocità in scrittura c’era […]
Pingback di EXT4? Scherzavamo … « Tecnologia e non solo — marzo 17, 2009 @ 2:00 PM