Vuoi spostare la tua cartella home di Linux su un’altra unità? Ecco un modo semplice e graduale per farlo che dovrebbe funzionare su qualsiasi distribuzione. Spostare la tua cartella home significa che puoi reinstallare Linux e non devi preoccuparti dei tuoi file personali.
Sommario:
Perché tenere separata la cartella home?
Se stai configurando una nuova macchina o aggiungendo un disco rigido a uno esistente, potresti voler avere la tua directory home su un’unità diversa da quella predefinita.
Una configurazione sempre più popolare per i personal computer moderni consiste nell’avere un Solid State Drive (SSD) di medie dimensioni che contiene il sistema operativo e un Solid State Hybrid Drive (SSHD) più grande o un disco rigido tradizionale (HD) come memoria principale per i dati. Oppure potresti avere un singolo disco rigido tradizionale nel tuo sistema e hai aggiunto un nuovo HD per aumentare lo spazio di archiviazione. Qualunque sia la tua ragione, ecco un semplice e colpo dopo colpo per spostare la tua directory home.
A proposito, se stai installando un sistema Linux da zero, probabilmente vedrai un’opzione per creare una directory home separata nel programma di installazione della tua distribuzione Linux. In generale, devi solo entrare nelle opzioni di partizionamento, creare una partizione separata e montarla in “/ home”. Tuttavia, se hai già installato una distribuzione Linux, puoi utilizzare queste istruzioni per spostare la tua directory home corrente in una nuova posizione senza perdere nulla o reinstallare il sistema operativo.
Ora, prima di iniziare, vai a fare un backup.
Identifica l’unità
Se hai appena montato un’unità su un computer Linux o installato Linux su una delle unità in un nuovo computer con più unità e riavviato, ci sono poche prove che la nuova unità sia presente.
Il comando fdisk lo farà elenca le unità e le loro partizioni per noi.
sudo fdisk -l
Scorri l’output finché non hai identificato la nuova unità. La prima unità è chiamata / dev / sda, la seconda è / dev / sdb e così via, con l’ultima lettera che aumenta ogni volta. Quindi / dev / sde sarebbe il quinto disco rigido del sistema.
in questo esempio, la nuova unità è la seconda unità da montare nel sistema. Quindi dobbiamo cercare una voce per / dev / sdb.
/ dev / sdb è evidenziato sopra. Noterai che non ha una riga che descrive una partizione su di esso. È un disco nuovo di zecca, quindi non ne avrà ancora uno. Dobbiamo creare la partizione. Possiamo farlo usando fdisk. Se il tuo disco rigido non è / dev / sdb, assicurati di sostituire / dev / sdb con l’identificatore effettivo del tuo nuovo disco rigido nel comando.
sudo fdisk /dev/sdb
Quando fdisk ti richiede un comando, premi la lettera p. Questo stampa la tabella delle partizioni per il disco rigido. Sappiamo che non ne avrà uno, ma otteniamo alcune informazioni utili sull’unità. Ci dà una buona possibilità di assicurarci che l’unità per cui creeremo una partizione sia l’unità con cui intendevamo lavorare.
Ci dice che l’unità è un’unità da 1 TB, che corrisponde a ciò che ci aspettiamo in questa macchina di prova, quindi procederemo.
Crea una partizione
Premere la lettera n per una nuova partizione, quindi premere p per una partizione primaria. Quando viene richiesto il numero di partizione, premere il numero 1.
Creeremo una singola partizione per l’intero disco, quindi quando richiesto per il primo settore possiamo premere Invio per accettare il valore predefinito. Ti verrà quindi richiesto l’ultimo settore e Invio accetterà il valore predefinito.
Sebbene fdisk confermi di aver creato una partizione Linux da 1 TB, che è la partizione numero 1, non è ancora cambiato nulla sul disco rigido. Fino a quando non si dà a fdisk il comando di scrivere le modifiche sull’unità, l’unità non viene toccata. Una volta che sei certo di essere soddisfatto delle nostre scelte, premi la lettera w per scrivere le modifiche sull’unità.
La partizione è stata scritta in / dev / sdb. Controlliamo cosa è appena successo. Useremo fdisk ancora una volta su / dev / sdb.
sudo fdisk /dev/sdb
Premi la lettera p per stampare quella tabella delle partizioni e vedrai che ora è elencata una partizione per l’unità. Poiché era la prima partizione su questa unità, si chiama / dev / sdb1. Una seconda partizione sarebbe chiamata / dev / sdb2 e così via.
Non vogliamo apportare modifiche alla partizione, quindi premi la lettera q per uscire.
Crea un file system sulla partizione
Dobbiamo creare un filesystem sulla partizione. Ciò si ottiene facilmente con il comando mkfs. Notare che è necessario includere il numero di partizione al comando. Fai attenzione a digitare / dev / sdb1 (la partizione) e non / dev / sdb (l’unità).
sudo mkfs -t ext4 /dev/sdb1
Il filesystem verrà creato per te e verrai riportato al prompt dei comandi.
Montaggio della nuova unità
Per utilizzare la nuova unità, dobbiamo montare la partizione su di essa in un punto di montaggio nel filesystem. In realtà, per essere perfettamente precisi, non stiamo montando né l’unità né la partizione, stiamo montando il filesystem sulla partizione, innestandolo nell’albero del filesystem del vostro sistema.
Il punto / mnt è un posto buono come un altro. È solo un punto di montaggio temporaneo per consentirci di copiare i dati sulla nuova unità. Useremo il comando mount per montare il filesystem sulla prima partizione su / dev / sdb, in / mnt.
sudo mount /dev/sdb1 /mnt
Se tutto va bene, verrai riportato alla riga di comando senza messaggi di errore. Vediamo se possiamo cambiare directory nel nostro filesystem appena montato.
cd /mnt
Sì possiamo. vediamo cosa c’è qui.
ls -ahl
Siamo nel nostro nuovo file system. La directory predefinita “lost + found” non è richiesta, quindi possiamo rimuoverla.
sudo rm -rf lost+found
Copiare la cartella Home
Dobbiamo copiare tutto dalla vecchia directory home al filesystem appena montato. L’uso delle opzioni r (ricorsivo) ep (conserva) garantirà tutto le sottodirectory vengono copiate e che le proprietà dei file, le autorizzazioni e altri attributi vengono mantenuti.
sudo cp -rp /home/* /mnt
Quando la copia è completata, usa ls per dare un’occhiata in giro e verificare che i tuoi dati siano dove ti aspetti che siano nel nuovo filesystem. In altre parole, se / mnt fosse la tua home directory, è tutto presente e corretto?
ls
ls dave
Probabilmente vorrai essere un po ‘più accurato di quanto non fossimo sulla macchina di prova su cui è stato ricercato questo articolo. Come rete di sicurezza, rinomineremo e manterremo la tua vecchia directory / home finché non sarai sicuro che sia sicuro eliminarla.
sudo mv /home /home.orig
E creeremo una nuova directory home vuota.
sudo mkdir /home
Useremo quella nuova directory home vuota come punto di montaggio per il nostro filesystem sul nuovo disco rigido. Dobbiamo smontarlo da / mnt e rimontarlo su / home. Nota che il comando umount non ha una “n” dopo la “u”.
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/
Testare la nuova home directory
Vediamo ora quali sono gli attributi della partizione / dev / sdb1:
df /dev/sdb1
Ci viene mostrato il nome del filesystem, la dimensione della partizione e lo spazio utilizzato e disponibile su di essa e, soprattutto, dove è montato. Ora è la nostra directory / home. Ciò significa che dovremmo essere in grado di referenziarlo esattamente come avremmo potuto fare con la vecchia directory / home.
Se ci spostiamo in un punto arbitrario nel filesystem, dovremmo essere in grado di tornare a / home usando la scorciatoia ~ tilde.
cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a
Possiamo muoverci attraverso il filesystem avanti e indietro fino a / home usando comandi espliciti e usando la scorciatoia ~. Le cartelle, i file e i dotfile che ci aspetteremmo sono tutti presenti. Sembra tutto a posto.
Se mancava qualcosa, potremmo copiarlo dalla directory /home.orig, a cui abbiamo ancora accesso nella root del filesystem. Ma sembra tutto a posto.
Ora dobbiamo avere / dev / sdb1 montato automaticamente ogni volta che il computer viene avviato.
Modifica fstab
Il file “fstab” contiene le descrizioni dei filesystem che verranno montati all’avvio del sistema. Prima di apportare modifiche, ne faremo una copia di backup a cui possiamo tornare in caso di problemi.
sudo cp /etc/fstab /etc/fstab.orig
Ora possiamo modificare il file fstab.
sudo gedit /etc/fstab
È necessario aggiungere una riga in fondo al file per montare la nostra nuova directory / home. Se gli identificatori di unità e partizione sono diversi da quelli usati in questo esempio, sostituisci quelli con / dev / sdb1 mostrato qui.
Digita il nome della partizione all’inizio della riga, quindi premi Tab.
Digita il punto di montaggio / home e premi Tab.
Digita la descrizione del filesystem ext4 e premi Tab.
Digitare defaults per le opzioni di montaggio e premere Tab.
Digita la cifra 0 per l’opzione di dump del filesystem e premi Tab.
Digita la cifra 0 per l’opzione di controllo del file system.
Salva il file fstab.
Riavvia il tuo sistema
Dobbiamo riavviare per verificare che tutto sia andato secondo i piani e che tu abbia una connessione perfetta alla tua nuova directory / home.
In caso contrario, hai ancora la rete di sicurezza della directory / home originale e del file fstab che potrebbe essere ripristinato se necessario. A causa delle precauzioni che abbiamo preso, copiando la directory / home e i file fstab, potresti facilmente riportare il tuo sistema allo stato in cui si trovava prima di iniziare.
sudo reboot now
Controlli finali
Quando il tuo sistema si riavvia, controlliamo che la tua directory / home sia realmente sul tuo nuovo disco rigido e che il tuo sistema non sia in qualche modo (miracolosamente) tornato a usare la vecchia directory / home.
df /dev/sdb1
Ottimo, è montato su / home. Missione compiuta.
Una volta che sei perfettamente sicuro di non aver più bisogno della copia di sicurezza della tua vecchia directory / home, puoi eliminarla:
cd /
sudo rm -rf home.orig/
E, naturalmente, se ti rendi conto che qualcosa non è stato copiato dalla vecchia / home alla tua nuova / home, sarai in grado di recuperarlo dal backup che hai fatto prima di iniziare.
Casa dolce casa
Ora che hai separato la tua directory / home dal resto della partizione del sistema operativo, puoi reinstallare il tuo sistema operativo e i tuoi dati rimarranno intatti. Tutto quello che devi fare è modificare il file fstab per montare la tua seconda unità su / home.
E poiché tutti i tuoi dotfile sono nella tua directory / home, quando avvii le tue varie applicazioni, troveranno tutte le tue impostazioni, preferenze e dati.
Elimina il problema delle reinstallazioni e riduce il rischio degli aggiornamenti.