Gentoo Logo

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

Indice:

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.



Stampa

Aggiornato il 9 ottobre 2005

Oggetto: In questa nuova serie di articoli, Daniel Robbins mostra come modificare lo schema delle partizioni di un sistema già installato. Descrive anche alcuni trucchi per minimizzare i tempi morti della macchina ed evitare gravi errori. In particolare in questo articolo spiega come spostare la cartella /home su un'altra partizione.

Daniel Robbins
Autore

Fabrizio Prosperi
Traduttore

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.