Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 32 del 02/05/2021 09.56.23

Nascondi questo messaggio


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa guida illustra la procedura per spostare in partizione separata la cartella /home, oppure altre directory quali /temp, /var ecc., senza reinstallare il sistema operativo.

Si raccomanda di eseguire una copia di backup di tutti i propri dati prima di procedere con le operazioni descritte di seguito.

Descrizione

In fase di installazione è possibile impostare il sistema affinché siano collocate alcune directory del filesystem (home, /boot, /tmp, /etc/fstab, /usr, /var, /opt ecc.) in apposite partizioni dedicate (create contestualmente o in precedenza, presenti su uno o più dischi fisici), diverse da quella di sistema (/, root), assegnando i relativi punti di mount. Per maggiori informazioni consultare questo paragrafo.

Tuttavia potrebbe capitare di avere necessità di partizioni separate per specifiche directory di sistema successivamente all'installazione.

Spostare alcune cartelle in partizioni separate dalla / (root) può essere utile in certi casi:

  • Per installare il sistema (/) in dischi fisici di dimensioni ridotte, utilizzando quindi dischi supplementari per specifiche cartelle di sistema.

  • Per mantenere sotto controllo efficienza, dimensioni e impostazioni delle partizioni.
  • Per ripristinare facilmente file degli utenti e impostazioni dei programmi, salvati in /home, in caso di reinstallazione;

  • Per proteggere i dati dell'utente in caso di perdita di dati (ad esempio in caso di guasti fisici al disco, oppure formattazioni accidentali della root di sistema);
  • Per allungare il ciclo di vita di SSD, riducendone le scritture (ad esempio, spostando /home, /tmp e /var su disco meccanico separato, verranno lì salvati i download dell'utente, i file temporanei e la cache degli aggiornamenti di apt).

Guide di approfondimento

Le operazioni di seguito descritte comportano la conoscenza dei seguenti argomenti:

Procedura

Le operazioni di seguito descritte comprendono, in sintesi:

  • Verifica dello spazio disponibile
  • Modifica e/o predisposizione delle partizioni
  • Copia della/e cartella/e
  • Modifica del file /etc/fstab

  • Verifica del funzionamento
  • Eliminazione della/e cartella/e precedentemente utilizzate.

Nell'esempio di seguito riportato verrà spostata la cartella /etc/fstab, ma la procedura è applicabile anche ad altre cartelle quali /boot, /tmp, /etc/fstab, /usr, /var, /opt.

La partizione che ospiterà la cartella spostata dovrà essere sempre maggiore alla cartella di origine.
Si raccomanda di dedicare spazio adeguato per tutte le cartelle spostate.
Si raccomanda lo spostamento di /boot solo agli utenti esperti.

Verifica spazio utilizzato directory da spostare

Digitare nel terminale il comando:

du -kshP /home

L'output sarà simile al seguente:

1,3G    /home

per le cartelle diverse da /home sono necessari i diritti di amministrazione.

Verifica dimensione partizioni

Verificare e annotare 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%  /
/dev/loop0             90M   90M     0  100% /snap/core/6130
/dev/loop1             91M   91M     0  100% /snap/core/6405

Modifica delle partizioni

  1. Se per creare lo spazio destinato alla nuova partizione è necessario ridurre la partizione di sistema / (root), utilizzare una DVD/USB live per compiere questa operazione.
    Se invece la partizione è già disponibile passare al punto successivo.

  2. Formattare la partizione di destinazione con lo stesso filesystem utilizzato per / (ext3, ext4, ecc.).

Copia della partizione

  1. 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.

  2. 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.

  3. 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/

  1. 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.

  2. Il comando restituirà un output simile al seguente:

    /dev/sda8: UUID="41800cf0-acb6-4845-b05e-479e9258f25f" TYPE="ext4"
  3. Copiare la stringa appena ottenuta, ad esempio

    41800cf0-acb6-4845-b05e-479e9258f25f
  4. Creare una copia di backup di /etc/fstab:

    sudo cp /etc/fstab /etc/fstab.backup
  5. Aprire il file /etc/fstab con un editor di testo e con i privilegi di amministrazione.

  6. In una nuova riga inserire:

    UUID=uid /home ext4 defaults 0  2

    sostituendo uid con l'UUID individuato in precedenza.

  7. 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:

  1. Digitare il comando

    cp -f /etc/fstab.backup /etc/fstab

    per ripristinare il file /etc/fstab originale

  2. 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


CategoryHomepage