Disclaimer :
La versione originale di questo articolo è stata pubblicata da IBM
developerWorks ed è di proprietà di Westtech Information Services. Questo
documento è una versione aggiornata dell'articolo originale, e contiene
numerosi miglioramenti apportati dal Gentoo Linux Documentation team.
Questo documento non è mantenuto attivamente.
|
Il partizionamento in azione, 1a Parte
1.
Spostare la /home
Introduzione
La partizione /home é una delle partizioni spostate più di
frequente. Talvolta lo spazio in /home si esaurisce, e diviene
necessario un disco rigido aggiuntivo. Altre volte la /home é
parte della partizione radice e può rendersi necessario spostarla per
ottenere un miglioramento del sistema o per rendere più agevole il backup.
Quale che sia il caso, vi mostrerò come spostare la /home in
modo sicuro ed efficiente.
Avvertenza:
La tecnica seguente descrive come effettuare lo spostamento di una o più
partizioni. Nonostante questa tecnica consenta di ripristinare il sistema in
caso di fallimento, essa non assicura protezione in caso di errori
dell'utente. In altri termini, ogni volta che si formattano delle partizioni
o si copiano un gran numero di file é possibile che ci si sbagli, digitando
qualcosa di errato, provocando la distruzione di una grande mole di dati.
Perciò é altamente consigliata l'esecuzione di un backup dei file critici
prima di procedere.
|
Una volta preparati, si é pronti con lo spostamento della /home.
I passi specifici potranno variare a seconda che la /home si
trovi inizialmente su una propria partizione separata, oppure nella
partizione radice. E' necessario tenere presente questa distinzione nel
corso delle operazioni. (Non mancherò di sottolinearlo quando necessario).
A questo punto, se si intende muovere la /home su un nuovo disco
rigido, esso deve essere fisicamente installato sul sistema.
Se volete muovere la /home su una partizione già esistente (non
necessariamente ext2, l'importante é che la partizione di destinazione
esista, sia essa primaria od estesa), potete procedere con lo step 2.
Creare una nuova partizione, se necessario
Se la nuova partizione ancora non esiste, dovete crearla utilizzando
cfdisk (preferibilmente) o fdisk. Se la partizione non si trova
sul vostro primo disco, ricordatevi di specificare il nome del device come
primo argomento di cfdisk o fdisk. Dopo aver creato l'opportuna
partizione primaria od estesa, dovete riavviare il sistema per consentire la
corretta rilettura della tabella delle partizioni. Questa è l'unica volta che
dovrete riavviare il sistema.
2.
Creare un filesystem sulla nuova partizione
Per creare un filesystem sulla nuova partizione, assicuratevi innanzitutto di
conoscere esattamente il nome del device su cui essa si trovi (ad esempio,
/dev/sda5). Se non siete sicuri di conoscere il nome esatto,
fermatevi adesso e ricontrollate! Quindi digitate, come utente root:
Codice 2.1: Creare il filesystem |
# mkfs.ext2 /dev/???
|
Negli esempi di codice qui riportati, ??? deve venire sostituito
con il nome della partizione di destinazione. Dopo aver eseguito questo
comando la partizione di destinazione conterrà un filesystem ext2 vuoto.
3.
Montare il nuovo filesystem su /mnt
Create una cartella /mnt/newpart, quindi montate su di essa la
nuova partizione:
Codice 3.1: Montare la partizione |
# mount /dev/??? /mnt/newpart
|
4.
Passare in modalità single-user
Ho rimandato questo passaggio il più possibile per massimizzare la completa
disponibilità del sistema, ma adesso dobbiamo passare in modalità
single-user, e copiare i file da /home a
/mnt/newpart. Non deve esserci alcun file aperto in
/home, ed il passaggio in modalità single-user esclude questa
possibilità:
Codice 4.1: Passare in modalità single-user |
# init 1
|
Se richiesto, inserite la password di root per effettuare la manutenzione del
sistema. A questo punto dovreste trovarvi in una shell di root.
5.
Spostarsi nella /home e copiare i file
Digitate quanto segue:
Codice 5.1: Copiare i file |
# cd /home
# cp -ax * /mnt/newpart
|
Il comando cp -ax copia ricorsivamente il contenuto di
/home in /mnt/newpart, mantenendo tutti gli
attributi dei file, ed evitando di attraversare mount points. Una volta
eseguito, /mnt/newpart conterrà una copia esatta di tutti i file
e le cartelle al momento presenti in /home. Se la vecchia
/home si trovava su una propria partizione separata (indicata da
una specifica riga nel file /etc/fstab), saltate allo step 6a. Altrimenti procedete con lo step 6b.
6.
Utilizzare la nuova partizione
6a: /home sulla propria partizione
Nota:
Queste istruzioni sono per sistemi dove la vecchia /home si
trova già su una propria partizione separata. Se questo non é il vostro caso
saltate allo step 6b.
|
Effettuiamo l'unmount della vecchia partizione digitando:
Codice 6.1: Effettuare l'unmount |
# cd /
# umount /home
|
Quindi effettuiamo l'unmount ed il mount della nuova partizione:
Codice 6.2: Montare di nuovo la partizione |
# umount /mnt/newpart
# mount /dev/??? /home
|
Adesso la nuova partizione è accessibile da /home ed è pronta per essere
utilizzata. Possiamo svolgere i pochi passi rimanenti in modalità
multiutente. Uscite dalla modalità single-user, per consentire al sistema il
ripristino di tutte le funzionalità, premendo CTRL-D.
Importante:
Dopo che il sistema si è riavviato normalmente, loggatevi come root e
modificate il file /etc/fstab in modo che /dev/???
venga montata automaticamente in /home in luogo della vostra
vecchia partizione. Ad esempio, modificate questa riga:
|
Codice 6.3: Vecchio fstab |
/dev/hda3 /home ext2 defaults 1 2
|
in questa riga:
Codice 6.4: Nuovo fstab |
/dev/??? /home ext2 defaults 1 2
|
6b: /home su una partizione condivisa
Nota:
Queste istruzioni sono per sistemi nei quali la /home si trovava
inizialmente su una partizione condivisa.
|
Codice 6.5: Spostare la cartella |
# cd /
# mv /home /home.old
# mkdir /home
# mount /dev/??? /home
|
Importante:
Ora, abbandonate la modalità single-user premendo CTRL-D. Quando il
sistema è di nuovo pienamente funzionante, modificate il file
/etc/fstab ed aggiungete una riga come la seguente:
|
Codice 6.6: Modificare fstab |
/dev/??? /home ext2 defaults 1 2
|
In questo modo, la vostra nuova partizione verrà montata correttamente al
prossimo riavvio del sistema.
7.
Il tocco finale
Abbiamo lasciato di proposito la vecchia cartella/partizione
/home per ultima, nel caso ci fossero stati dei problemi nella
copia dei file. Dopo aver verificato che il sistema funziona senza intoppi,
potete utilizzare la vostra vecchia partizione /home per
qualcos'altro oppure eliminare la cartella /home.old.
Complimenti, avete appena spostato la /home! Nel mio prossimo
articolo riconfigureremo il sistema per fare in modo che le cartelle
/tmp e /var si trovino entrambe su una partizione
condivisa. Ci vediamo!
Risorse
L'autore
Daniel Robbins vive ad Albuquerque, New Mexico. E' stato Presidente/CEO di
Gentoo Technologies Inc., Chief Architect del Gentoo Project ed é co-autore
di numerosi libri pubblicati da MacMillan: Caldera OpenLinux Unleashed, SuSE
Linux Unleashed, e Samba Unleashed. Daniel é coinvolto nell'informatica dai
tempi delle elementari quando venne in contatto con il linguaggio di
programmazione Logo ed una dose potenzialmente letale di Pac Man. Questo
forse spiega perché da allora abbia lavorato come Lead Graphic Artist alla
SONY Electronic Publishing/Psygnosis. Daniel ama trascorrere il suo tempo
libero con sua moglie Mary e la loro bambina, Hadassah. Potete mettervi in
contatto con Daniel scrivendo a Daniel Robbins.
|