Sposta la cartella principale nella seconda unità


65

Ho 2 unità HDD nel mio computer. Al momento la seconda unità è montata come /media/storage.

Come posso spostare i miei dati utente da /homea /media/storage/home?

Posso semplicemente spostare i dati lì e quindi ricollegarli semplicemente?


La risposta che utilizza usermod è più semplice: crea un utente amministratore temporaneo, passa a quell'account, usermod -m -d /path/to/non_existent_home_dir usernametorna al tuo account (nome utente), rimuovi l'utente amministratore temporaneo. Sebbene siano ancora 5 passaggi, molto meno rispetto ad altre risposte, molto meno rischiosi e molto più semplici.
Oliver,

Risposte:


31

Se vuoi semplicemente spostare la tua home directory, ad esempio / home / il tuo nome utente, copia semplicemente la tua home directory in un'altra partizione e quindi usa Sistema-> Amministrazione-> Utenti e gruppi per aprire la finestra di dialogo delle impostazioni dell'utente. Fai clic sull'icona dei tasti per autenticarti

testo alternativo

Successivamente seleziona l'utente che desideri modificare e fai clic su Proprietà, vai alla scheda Avanzate

testo alternativo

cambia la home directory in una nuova directory, ovvero la directory che hai copiato in un'altra partizione.


3
Infatti. è un ottimo modo per cambiare facilmente la posizione della home directory di un utente specifico. Mentre leggevo la domanda, stavo capendo che questo sarebbe stato per la directory / home a livello globale. In questo caso, è possibile creare la partizione sull'altro dispositivo, spostare manualmente tutti i file lì e quindi modificare il dispositivo per il punto di montaggio nel file / etc / fstab stesso.
jfmessier,

3
@jfmessier: dovresti fare una risposta piuttosto che un commento!
Skizz,

1
Se stai copiando la tua directory home con 'cp' sulla riga di comando, è meglio usare 'cp -rPa *': r per ricorsivo, P per non seguire i collegamenti, a per preservare i flag di proprietà e permessi.
drevicko,

1
Unity in 13.04 non ha "Utenti e gruppi", ma solo un'impostazione "Utenti" che non include queste opzioni. Puoi menzionare i termini corrispondenti per Unity in 13.04?
Torben Gundtofte-Bruun,

Se stai usando Ubuntu 12.04 o versioni successive l'opzione per usare il metodo GUI potrebbe non essere disponibile, almeno per me non lo è. Ho dovuto usare questo metodo trovato qui: help.ubuntu.com/community/Partitioning/Home/Moving
Kyle Coots

84

Spostare HOME dalla riga di comando

Per evitare effetti collaterali mentre si lavora in un ambiente grafico, è necessario eseguire tutte le azioni per spostare HOME da un terminale con Ctrl+ Alt+ F1.

Montare temporaneamente la nuova partizione:

sudo mkdir /mnt/tmp
sudo mount /dev/sdb1 /mnt/tmp

assumendo / sdb1 è la nuova partizione per HOME

Copia HOME nella nuova posizione:

sudo rsync -avx /home/ /mnt/tmp

Possiamo quindi montare la nuova partizione come HOME con

sudo mount /dev/sdb1 /home

per assicurarsi che tutti i dati siano presenti. Il più semplice è quello di eliminare il vecchio /homea questo punto (potresti farlo in seguito, ma dovrai avviare un sistema live per vedere la vecchia casa):

sudo umount /home  #unmount the new home first!
rm -rf /home/*  #deletes the old home

Rendi HOME permanente

Dobbiamo conoscere l'UUID della nuova partizione per la fstabvoce vista da:

sudo blkid

Nota o copia / incolla l'UUID corretta per modificare il tuo fstabcon

sudo nano /etc/fstab   #or any other editor

e aggiungi la seguente riga alla fine:

UUID=<noted number from above>    /home    ext4    defaults   0  2

Fai attenzione a scegliere qui il file system appropriato, ad esempio ext3se formattato ext3

Reboot

Dopo il riavvio , /homela nuova unità risiede sul nuovo disco con molto spazio.


1
Non ha funzionato per me.
corev,

2
Ti consiglio di uscire dal profilo che desideri spostare, quindi puoi anche usare gli strumenti di distribuzione come usermodper questa attività.
LiveWireBT

Ha funzionato! Grazie. Posso rimuovere /mnt/tmpdopo il riavvio?
9

@ e9t: è solo un punto di montaggio che abbiamo creato per poter montare temporaneamente la nostra HOME. È possibile rimuovere questo punto di montaggio ma non farà alcun danno (e potrebbe essere più sicuro) semplicemente mantenerlo. Se per qualsiasi motivo si desidera ancora rimuoverlo, prestare particolare attenzione a non avere nulla montato lì (altrimenti si rischia di eliminare irreversibilmente tutti i dati su cui era stato montato /mnt/tmp).
Takkat,

1
Ho seguito queste istruzioni per il mio server e ora non riesco ad accedervi tramite SSH (autorizzazione negata (chiave pubblica) :( :( :(
Khue

14

La procedura dettagliata ufficiale è qui sul wiki della guida di Ubuntu


Trova l'UUID della partizione

sudo blkid

Installa Fstab

sudo -H gedit /etc/fstab 

e aggiungi queste righe

UUID=????????   /media/home    ext4    defaults    0  2 

e sostituisci ????????con il numero UUID della /homepartizione desiderata .

Salvare e chiudere il fstabfile, quindi digitare il comando seguente:

sudo mkdir /media/home

Copia /homenella nuova partizione

sudo rsync -aXS --progress --exclude='/*/.gvfs' /home/. /media/home/.

Controlla che la copia abbia funzionato

sudo diff -r /home /media/home -x ".gvfs/*"

Nota: puoi anche aspettarti di vedere alcuni errori sui file non trovati. Questi sono dovuti a collegamenti simbolici che puntano a luoghi che attualmente non esistono (ma lo faranno dopo il riavvio). Puoi ignorarli, ma dai un'occhiata a qualsiasi altra cosa.

Preparare fstab per l'interruttore

sudo -H gedit /etc/fstab

e ora modifica le righe che hai aggiunto in precedenza, cambiando la /media/homeparte per dirla semplicemente in /homemodo che assomigli a questo:

UUID=????????   /home   ext4    defaults     0  2 

Muoversi /homein/old_home

cd / && sudo mv /home /old_home && sudo mkdir /home

Riavvia o rimonta tutto

Riavvia o rimonta tutto con questo:

sudo mount -a

10
Benvenuti in Ask Ubuntu! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Eliah Kagan,

7

Infatti. è un ottimo modo per cambiare facilmente la posizione della home directory di un utente specifico. Mentre leggevo la domanda, stavo capendo che questo sarebbe stato per la directory / home a livello globale. In questo caso, è possibile creare la partizione sull'altro dispositivo, spostare manualmente tutti i file lì e quindi modificare il dispositivo per il punto di montaggio nel file / etc / fstab stesso


2

ok, l'unico modo in cui ho scoperto che funzionerebbe è creare un altro utente, dargli l'autorità di amministrazione, disconnettere l'id principale, accedere con il nuovo id e quindi usare il comando usermod.


0

Compito:

  • Verifica la disponibilità e formatta due HDD: "WD Purple" e "WD Gold".
  • Montare due HDD sul file system Ubuntu.
  • Spostare la cartella HOME su HDD "WD Gold".

Link correlati:

Formattare i dischi

Collega tutti i cavi SATA e di alimentazione necessari ai tuoi HDD. Carica Ubuntu. Premi la tastiera e digita "Disks". Verrà aperta l'utilità "Dischi": inserisci qui la descrizione dell'immagine

Con questa utility puoi formattare i tuoi HDD nel file system Ext4. Altrimenti per formattare i dischi utilizzare i comandi:

  1. fdisk (man fdisk);
  2. parted (man parted);
  3. mkfs (man mkfs)

Ad esempio, ma non sono sicuro dei parametri perché ho usato la GUI "Disks":

sudo mkfs.ext4 -L purple /dev/sdb  # not sure with parameters
sudo mkfs.ext4 -L gold   /dev/sdc  # not sure with parameters

Tieni presente che la formattazione eliminerà tutto sul disco rigido di destinazione . È possibile saltare questo passaggio se sono presenti dati sul disco rigido e non si desidera perderli.

La formattazione lenta dovrebbe richiedere molto tempo: dalle 16 alle 20 ore per il disco da 4 TB.

Montare permanentemente i dischi

# Press CTRL+ALT+T and open a console.
# Check your /dev/sdb and /dev/sdc discs are visible:
lsblk
# Create directories for the new HDD WD Purple and WD Gold
sudo mkdir /hdd_purple
sudo mkdir /hdd_gold  # temporary directory
# Temporary mount to the new mount point
sudo mount /dev/sdb1 /hdd_purple
sudo mount /dev/sdc1 /hdd_gold
# Unmount drives
sudo umount /dev/sdb1
sudo umount /dev/sdc1

# Configuration file /etc/fstab has list of all partitions that will be mounted at boot.
# 1. Show and copy UUID of the HDD with this command:
sudo blkid
# My data is:
#     /dev/sdb1: LABEL="purple" UUID="6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60" TYPE="ext4" PARTUUID="a14c8357-a8ce-42e4-9772-64ccfad3e226"
#     /dev/sdc1: LABEL="gold" UUID="1d049c7c-4565-480b-a181-2459e8ff8c1b" TYPE="ext4" PARTUUID="4c691b21-b4e3-4dab-ab91-d7bf7272b2b5"
# Make a backup of that file to be able to revert changes.
sudo cp /etc/fstab /etc/fstab.2018.11.29.bak
# 2. Add a new partitions by editing /etc/fstab file as root:
sudo nano /etc/fstab
# 3. At the bottom of fstab file add 2 lines similar to this:
UUID=6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60   /hdd_purple   ext4   defaults           0  2
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b   /hdd_gold     ext4   defaults           0  2
# Your UUID have to be different!
# Write the file with keys <Ctrl+O> then <Return>. Quit the editor with <Ctrl+X>.
# If you have Midnight Commander running, then save before quitting with <Ctrl+X>,
# because <Ctrl+O> will switch from nano editor to your MC.

# To see if the drive is mounted correctly we can simulate the mount process at boot with:
sudo mount -a

Spostare HOME dalla riga di comando

# To avoid side effects while working in a graphical, environment
# we should perform all actions to move HOME from a terminal with Ctrl+Alt+F3.

# Press <Ctrl+Alt+F3> and swidth to console mode.
# Login in the console mode.

# Copy HOME to the new location:
sudo rsync -avx /home/ /hdd_gold

# Delete everything in the HOME directory.
# Be careful with this command, make sure you have a backup.
rm -rf /home/*

# Make HOME permanent -- edit /etc/fstab configuration file
sudo nano /etc/fstab
# Change string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /hdd_gold  ext4  defaults  0  2
# to string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /home      ext4  defaults  0  2
# /hdd_golds change to /home directory

# After a reboot, your /home resides on the new drive having plenty of space.
sudo reboot
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.