Verschieben Sie den Basisordner auf das zweite Laufwerk


65

Ich habe 2 Festplatten in meinem Computer. Momentan ist der zweite Antrieb als montiert /media/storage.

Wie kann ich meine Benutzerdaten von /homenach verschieben /media/storage/home?

Kann ich die Daten einfach dorthin verschieben und dann einfach wieder verknüpfen?


Die Antwort, die usermod verwendet, ist am einfachsten: Erstellen Sie einen temporären Administratorbenutzer, wechseln Sie zu diesem Konto usermod -m -d /path/to/non_existent_home_dir username, wechseln Sie zurück zu Ihrem Konto (Benutzername) und entfernen Sie temporären Administratorbenutzer. Obwohl es immer noch 5 Schritte sind, viel weniger als andere Antworten, viel weniger riskant und viel einfachere Schritte.
Oliver

Antworten:


31

Wenn Sie nur Ihr Home-Verzeichnis, dh / home / your-username, verschieben möchten, kopieren Sie einfach Ihr Home-Verzeichnis auf eine andere Partition und öffnen Sie über System-> Administration-> Users & Groups das Dialogfeld für Benutzereinstellungen. Klicken Sie auf das Schlüsselsymbol, um sich selbst zu authentifizieren

Alt-Text

Wählen Sie anschließend den Benutzer aus, den Sie ändern möchten, und klicken Sie auf Eigenschaften. Wechseln Sie zur Registerkarte Erweitert

Alt-Text

Ändern Sie das Ausgangsverzeichnis in ein neues Verzeichnis, dh in das Verzeichnis, das Sie auf eine andere Partition kopiert haben.


3
Tatsächlich. Auf diese Weise können Sie auf einfache Weise den Speicherort des Basisverzeichnisses eines bestimmten Benutzers ändern. Beim Lesen der Frage wurde mir klar, dass dies global für das Verzeichnis / home gewesen wäre. In diesem Fall können Sie die Partition auf dem anderen Gerät erstellen, alle Dateien manuell dorthin verschieben und dann das Gerät für den Einhängepunkt in der Datei / etc / fstab selbst ändern.
jfmessier

3
@jfmessier: du solltest das eher als antwort denn als kommentar machen!
Skizz 13.01.11

1
Wenn Sie Ihr Ausgangsverzeichnis mit 'cp' in der Befehlszeile kopieren, sollten Sie 'cp -rPa *' verwenden: r für rekursive, P für das Nichtverfolgen von Links, a für das Beibehalten von Besitz- und Berechtigungsflags.
Drevicko

1
Unity in 13.04 hat keine "Benutzer & Gruppen", sondern nur eine "Benutzer" -Einstellung, die diese Optionen nicht enthält. Können Sie die entsprechenden Begriffe für Unity in 13.04 erwähnen?
Torben Gundtofte-Bruun

Wenn Sie Ubuntu 12.04 oder höher verwenden, ist die Option zur Verwendung der GUI-Methode möglicherweise nicht verfügbar, zumindest für mich nicht. Ich musste diese Methode verwenden, die hier zu finden ist: help.ubuntu.com/community/Partitioning/Home/Moving
Kyle Coots

84

HOME von der Kommandozeile verschieben

Um Nebenwirkungen beim Arbeiten in einer grafischen Umgebung zu vermeiden, sollten wir alle Aktionen ausführen, um HOME von einem Terminal mit Ctrl+ Alt+ zu verschieben F1.

Hängen Sie die neue Partition vorübergehend ein:

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

Angenommen, / sdb1 ist die neue Partition für HOME

Kopiere HOME an den neuen Ort:

sudo rsync -avx /home/ /mnt/tmp

Wir können dann die neue Partition als HOME mit mounten

sudo mount /dev/sdb1 /home

um sicherzustellen, dass alle Daten vorhanden sind. Am einfachsten ist es, die alte /homezu diesem Zeitpunkt zu löschen (dies können Sie später tun, aber dann müssen Sie ein Live-System starten, um die alte Heimat zu sehen):

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

Machen Sie HOME dauerhaft

Wir müssen die UUID der neuen Partition kennen, damit der fstabEintrag von:

sudo blkid

Hinweis oder copy / paste die richtige UUID zu bearbeiten fstabmit

sudo nano /etc/fstab   #or any other editor

und füge die folgende Zeile am Ende hinzu:

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

Achten Sie darauf, dass Sie hier das entsprechende Dateisystem auswählen, z. B. ext3wenn ext3 formatiert ist

Starten Sie neu

Nach einem Neustart befindet sich Ihr /homeComputer auf dem neuen Laufwerk und verfügt über ausreichend Speicherplatz.


1
Hat bei mir nicht funktioniert.
Corev

2
Ich empfehle, sich von dem Profil abzumelden, das Sie verschieben möchten. Dann können Sie auch die Verteilungstools wie usermodfür diese Aufgabe verwenden.
LiveWireBT

Es funktionierte! Vielen Dank. Kann ich /mnt/tmpnach dem Neustart entfernen ?
9.

@ e9t: Es ist nur ein Einhängepunkt, den wir erstellt haben, um unser HOME vorübergehend einhängen zu können. Es ist möglich, diesen Einhängepunkt zu entfernen, aber es schadet nicht (und ist möglicherweise sicherer), ihn einfach beizubehalten. Wenn aus irgendeinem Grund wollen Sie noch , es zu entfernen , bitte seien Sie besonders vorsichtig , um nicht alles haben dort montiert (sonst riskieren Sie irreversibel alle Daten löschen , die Sie angebracht hatten /mnt/tmp).
Takkat

1
Ich habe diese Anweisungen für meinen Server befolgt und kann jetzt nicht über SSH darauf zugreifen (Berechtigung verweigert (publickey) :( :( :(
Khue

13

Das offizielle detaillierte Verfahren finden Sie hier im Ubuntu-Hilfe-Wiki


Suchen Sie die UUID der Partition

sudo blkid

Richten Sie Fstab ein

sudo -H gedit /etc/fstab 

und füge diese Zeilen hinzu

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

und ersetzen Sie die ????????durch die UUID-Nummer der vorgesehenen /homePartition.

Speichern und schließen Sie die fstabDatei und geben Sie den folgenden Befehl ein:

sudo mkdir /media/home

In /homedie neue Partition kopieren

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

Überprüfen Sie, ob das Kopieren funktioniert hat

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

Hinweis: Es ist auch zu erwarten, dass einige Fehler bei nicht gefundenen Dateien auftreten. Dies ist auf symbolische Links zurückzuführen, die auf Orte verweisen, die derzeit nicht vorhanden sind (dies ist jedoch nach dem Neustart möglich). Sie können diese ignorieren - aber schauen Sie sich noch etwas anderes an.

Fstab für den Switch vorbereiten

sudo -H gedit /etc/fstab

Bearbeiten Sie nun die zuvor hinzugefügten Zeilen und ändern Sie den /media/homeTeil /homeso, dass er einfach so aussieht:

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

Umzug /homein/old_home

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

Starten Sie alle neu oder hängen Sie sie erneut ein

Führen Sie einen Neustart oder erneuten Ladevorgang durch:

sudo mount -a

10
Willkommen bei Ask Ubuntu! Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Eliah Kagan

7

Tatsächlich. Auf diese Weise können Sie auf einfache Weise den Speicherort des Basisverzeichnisses eines bestimmten Benutzers ändern. Beim Lesen der Frage wurde mir klar, dass dies global für das Verzeichnis / home gewesen wäre. In diesem Fall können Sie die Partition auf dem anderen Gerät erstellen, alle Dateien manuell dorthin verschieben und dann das Gerät für den Einhängepunkt in der Datei / etc / fstab selbst ändern


2

OK, die einzige Möglichkeit, die ich fand, dass dies funktionieren würde, ist, einen anderen Benutzer zu erstellen, ihm Administratorrechte zu erteilen, die Haupt-ID abzumelden, sich mit der neuen ID anzumelden und dann den Befehl usermod zu verwenden.


0

Aufgabe:

  • Überprüfen Sie die Verfügbarkeit und formatieren Sie zwei Festplatten: "WD Purple" und "WD Gold".
  • Hängen Sie zwei Festplatten in das Ubuntu-Dateisystem ein.
  • Verschieben Sie den HOME-Ordner auf die Festplatte "WD Gold".

Verwandte Links:

Datenträger formatieren

Schließen Sie alle erforderlichen SATA- und Stromkabel an Ihre Festplatten an. Laden Sie Ubuntu. Drücken Sie die Tastatur und geben Sie "Disks" ein. Das Dienstprogramm "Festplatten" wird geöffnet: Bildbeschreibung hier eingeben

Mit diesem Dienstprogramm können Sie Ihre Festplatten in ein Ext4-Dateisystem formatieren. Andernfalls verwenden Sie zum Formatieren von Festplatten die folgenden Befehle:

  1. fdisk (man fdisk);
  2. getrennt (Mann getrennt);
  3. mkfs (man mkfs)

Zum Beispiel, aber ich bin nicht sicher mit Parametern, weil GUI "Disks" verwendet:

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

Beachten Sie, dass beim Formatieren alle Daten auf der Zielfestplatte gelöscht werden . Sie können diesen Schritt überspringen, wenn sich Daten auf der Festplatte befinden und Sie diese nicht verlieren möchten.

Das langsame Formatieren sollte viel Zeit in Anspruch nehmen: von 16 bis zu 20 Stunden für 4 TB Festplatten.

Festplatten dauerhaft einbinden

# 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

HOME von der Kommandozeile verschieben

# 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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.