Indice
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida spiega la procedura per spostare in partizioni separate le directory /home e/o /temp e/o /var qualora siano presenti nella partizione / (detta root), il tutto senza reinstallare il sistema operativo.
Alcuni vantaggi del mantenere queste directory separate dalla partizione / sono i seguenti:
- Proteggere i dati dell'utente;
- Mantenere un livello ottimale di efficienza del sistema;
- Possibilità di mantenere le impostazioni dei programmi installati in caso di una nuova installazione;
Mantenere sotto controllo dimensioni e impostazioni delle partizioni separate, senza coinvolgere eventuali impostazioni desiderate di /;
- Possibilità di posizionare le partizioni su dischi fisici differenti in modo tale da:
- evitare che guasti agli hard disk possano provocare perdita di dati;
allungare il ciclo di vita di eventuali SSD presenti, riducendone le scritture.
Per maggiori informazioni sulla cartella /home e le altri presenti nel filesystem consultare questa pagina.
Per creare delle partizioni separate dedicate a /home, /temp, /var prima di installare Ubuntu, oppure per reinstallare Ubuntu mantenendo una partizione /home presistente, consultare questo paragrafo. |
=========== CONTINUARE DA QUI ============
Prerequisiti
È consigliabile eseguire una copia di backup di tutti i propri dati prima di procedere. |
Si raccomanda di consultare le seguenti guide, qualora non si conoscano gli argomenti trattati:
Partizioni: per disporre delle nozioni necessarie per identificare le partizioni;
Partizionamento manuale: per conoscere l'utilizzo del programma GParted;
Montare partizioni: per sapere come montare una partizione da riga di comando.
Infine, qualora la partizione da ridimensionare per ricavare spazio da dedicare ad una o più partizioni separate sia / (root), sarà necessario dotarsi di un DVD o USB live.
Verifica dello spazio disponibile
La partizione che ospiterà la cartella /home dovrà essere sempre maggiore alla cartella stessa.
Verifica spazio utilizzato directory /home
Digitare nel terminale il comando:
du -kshP /home
L'output sarà simile al seguente:
1,3G /home
Attribuire alla partizione /home una dimensione appropriata affinché lo spazio non risulti insufficiente rispetto alle proprie esigenze. È consigliabile lasciare almeno 4GiB / 5GiB di spazio libero. |
Verifica dimensione partizioni
Verificare la dimensione delle proprie partizioni digitando il seguente comando in un terminale:
df -h
L'output sarà simile al seguente:
File system Dim. Usati Disp. Uso% Montato su /dev/sda1 18G 4,4G 13G 26% /
Modifica delle partizioni
- Creare dello spazio libero sul disco ridimensionando la partizione desiderata;
Creare nello spazio liberato una partizione /home formattandola con lo stesso file system utilizzato per /.
Copia della /home
Per montare la partizione appena creata, digitare il seguente comando nel terminale:
sudo mkdir /media/home && sudo mount /dev/sdxx /media/home
mettendo al posto di sdxx il nome della propria partizione.
Copiare la vecchia /home nella nuova posizione digitando il seguente comando nel terminale:
sudo cp -priv /home/nome_utente /media/home
sostituendo a nome_utente il proprio nome utente. La durata del processo dipenderà dalla quantità di dati da trasferire.
Verificare che la dimensione della /home originale e della sua copia coincidano confrontando i comandi
df -h /home
e
df -h /media/home
Modificare /etc/fstab/
Ricavare l'UUID della partizione in cui è stata copiata la /home digitando il seguente comando in un terminale
sudo blkid /dev/sdxx
sostituendo sdxx con il nome della propria partizione.
Il comando restituirà un output simile al seguente:
/dev/sda8: UUID="41800cf0-acb6-4845-b05e-479e9258f25f" TYPE="ext4"
Copiare la stringa appena ottenuta, ad esempio
41800cf0-acb6-4845-b05e-479e9258f25f
Creare una copia di backup di /etc/fstab:
sudo cp /etc/fstab /etc/fstab.backup
Aprire il file /etc/fstab con un editor di testo e con i privilegi di amministrazione.
In una nuova riga inserire:
UUID=uid /home ext4 defaults 0 2
sostituendo uid con l'UUID individuato in precedenza.
- Salvare, chiudere il file e riavviare il sistema.
Verifica
Al riavvio, per verificare che la cartella /home sia stata effettivamente spostata, si può utilizzare il comando
df -h
che restituirà un output del tipo
File system Dim. Usati Disp. Uso% Montato su /dev/sda6 8,6G 4,0G 4,2G 49% / none 245M 256K 245M 1% /dev none 249M 112K 249M 1% /dev/shm none 249M 88K 249M 1% /var/run none 249M 0 249M 0% /var/lock none 249M 0 249M 0% /lib/init/rw /dev/sda8 6,3G 1,4G 4,6G 24% /home /dev/sda1 9,4G 1,7G 7,7G 18% /media/4E80F14880F136D5
in cui si vede che la /home si trova, in questo caso, in /dev/sda8.
Risoluzione di problemi
Se la procedura non dovesse aver avuto esito positivo, durante il boot del sistema ci si ritroverà di fronte ad un messaggio di errore simile al seguente:
L'unità disco per /home non è ancora pronta o non è presente
Per risolvere il problema premere il tasto M sulla tastiera. Comparirà quindi una shell di ripristino. A questo punto:
Digitare il comando
cp -f /etc/fstab.backup /etc/fstab
per ripristinare il file /etc/fstab originale
Riavviare quindi il sistema con il comando
shutdown -r now
Il sistema sarà riavviato e si tornerà alla alla condizione originale. La partizione che è stata creata non verrà però eliminata.
Pertanto sarà possibile, a seconda dei casi, effettuare le verifiche al sistema per individuare la causa dell'errore oppure ripristinare la situazione precedente.
Eliminare i contenuti della vecchia /home
Se la procedura ha avuto esito positivo e si desidera liberare spazio, si possono eliminare i contenuti ancora presenti nella vecchia /home interna alla partizione di sistema (/) utilizzando un DVD o USB live.
Ulteriori risorse