Wie kann ich das Home-Verzeichnis auf eine separate Partition verschieben?

22

Ich möchte eine andere Distribution installieren, aber mein Home-Verzeichnis behalten. Gibt es eine Möglichkeit, das Basisverzeichnis auf eine separate Partition zu verschieben? Ich habe keine externe Festplatte, um meine Daten zu sichern. Ich möchte meine Partitionen wie hier vorgeschlagen einrichten .

vanilleartig
quelle
1
Sie können immer neu partitionieren und dann / home aus dem Backup wiederherstellen. Sie haben Backups, nicht wahr?
KeithB

Antworten:

13

Ihre Frage ist distro-neutral. Wenn ich also etwas Spezielles erwähne, das Sie nicht haben, verwenden Sie einfach das Äquivalent an Ihrer Seite.

Ich empfehle Ihnen wirklich, ein externes Gerät für Backups zu kaufen. Vertrauen Sie mir, der Verlust Ihrer Daten ist das Schlimmste. Gehen Sie auf eigenes Risiko vor. Wenn Sie jedoch keines bekommen, können Sie Folgendes tun.

Was du brauchst

  • die Größe Ihres / home-Verzeichnisses
  • Freier Speicherplatz, mehr als die Größe Ihres / home-Verzeichnisses
  • Festplatten-Partitionierungs-Tool empfehle ich gparted

Was ist zu tun

  • Überprüfen Sie die Größe Ihres / home-Verzeichnisses (das letzte Ergebnis ist home total):

    du -h /home

  • Überprüfen Sie, ob Sie genügend Speicherplatz für die neue Partition haben:

    df -h

  • Installieren Sie gparted

    sudo apt-get install gparted

Sie benötigen mehr freien Speicherplatz als die Größe Ihres / home-Verzeichnisses. Wenn Sie nicht über den freien Speicherplatz verfügen, können Sie diese neue Partition nicht erstellen und müssen Ihre Daten ohnehin auf eine externe Partition verschieben.

Wenn Sie über den Speicherplatz verfügen, können Sie mit gparted Ihre vorhandene Partition verkleinern und anschließend eine neue Partition mit dem freigegebenen nicht zugewiesenen Speicherplatz erstellen. Wenn Ihre neue Partition fertig ist, notieren Sie sich / dev / sdax (verwenden Sie sudo fdisk -l, um dies zu sehen) und kopieren Sie Ihre / home-Dateien darauf.

Verwendung der Partition in einer neuen Distribution

Sie haben die Installation einer anderen Distribution erwähnt. Wenn Sie vorhaben, Ihre aktuelle Distribution zu überschreiben, sollten Sie während der Installation aufgefordert werden, Partitionen einzurichten. An diesem Punkt können Sie diese Partition als / home angeben, sie nicht formatieren und alles wird gut, Sie können diesen nächsten Abschnitt überspringen.

Wenn Sie jedoch möchten, dass Ihre aktuelle Distribution mit der neuen / home-Partition funktioniert, befolgen Sie diesen Abschnitt:

Hängen Sie die Partition in eine vorhandene Distribution ein

Wir müssen Ihrem Betriebssystem mitteilen, dass es die Partition als Ihr neues Zuhause verwenden soll. Dies tun wir in fstab, aber lassen Sie uns zuerst die UUID dieser neuen Partition ermitteln:

ls -l /dev/disk/by-uuid

Verweise auf die / sdax deiner neuen Partition und kopiere die UUID davon, meine sieht so aus 3d866059-4b4c-4c71-a69c-213f0e4fbf32.

Backup fstab: sudo cp /etc/fstab /etc/fstab.bak Edit fstab:sudoedit /etc/fstab

Die Idee ist, eine neue Zeile hinzuzufügen, in der die Partition in / home gemountet wird. Benutze deine eigene UUID, nicht die, die ich hier poste;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

Speichern Sie und starten Sie neu und testen Sie, ob die neue Partition in / home bereitgestellt wird. Führen Sie "Ausführen" aus, df -hum alle bereitgestellten Partitionen aufzulisten. / Home sollte sich nun in dieser Liste befinden.


Anmerkungen

  • Es könnte eine gute Idee sein, sich mit fstab vertraut zu machen, wenn Sie es nicht gut kennen. Nehmen Sie sich Zeit und überlegen Sie sich jeden Schritt.
  • Wenn Sie eine neue Distribution installieren und denselben Anmeldenamen verwenden, fallen Ihre alten / Home-Dateien automatisch in Ihren Besitz.
  • Dies ist kein triviales Thema, das in einem Beitrag behandelt wird, aber ich glaube, ich habe das meiste davon verstanden. :)
umkehren
quelle
Ich versuche, gparted zu verwenden, kann aber die Größe der / -Partition nicht ändern. Haben Sie Empfehlungen zum Ändern der Größe der Root-Partition? Ich könnte Parted Magic verwenden, um es von einer Live-CD zu machen.
Vanillaike
1
Ja, Sie müssten dies von einer Live-CD tun, da das Dateisystem vom laufenden Betriebssystem bereitgestellt wird. Ubuntu Live CD, Knoppix oder Parted Magic funktionieren alle.
Invertzucker
3

Der Titel des Beitrags und Ihre Frage haben mich verwirrt. Möchten Sie Ihre homein eine Partition trennen , oder möchten Sie einfach neu installieren und beibehalten home?

Wenn alles , was Sie wollen , ist das gesamte Betriebssystem neu zu installieren , während halten Ihr homedann können Sie Ihr Backup homein einem Ort, der von der Installation wird dann nicht mit einer Erlaubnis Fix (Verwendung danach, zusammen wiederherstellen betroffen sein , chown -R username:groupnameum sicherzustellen , das Eigentum korrekt ist ).

Wenn Sie einige bewährte Methoden befolgen und Ihre trennen möchten, finden Sie homehier den Leitfaden, den Sie benötigen . Es ist für Ubuntu geschrieben, aber ich denke, dasselbe gilt für andere Distributionen.

phunehehe
quelle
Entschuldigung für die Verwirrung. Ich möchte mein Haus in eine Trennwand
aufteilen
WARNUNG: Über den Link in "Permission Fix" werden derzeit zwei verschiedene Websites aufgerufen, von denen die letzte zur Installation von Adobe Flash in einem sehr zwielichtigen Installationsdialog-Replikat auffordert.
user66001
Ich habe die Verknüpfung zu "Permission Fix" aufgehoben und in den Rat des Originalartikels kopiert, den ich archiviert gefunden habe .
Mattdm
2

Angenommen, Sie haben bereits eine separate Partition (und wenn Sie dies nicht tun, möchten Sie wahrscheinlich gparted oder ähnliches verwenden, um eine zu erstellen ), dann gehen Sie einfach wie folgt vor (vorzugsweise als Root-Benutzer):

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

Und dann davon ausgehen, dass alles so funktioniert, wie es sollte (als Benutzer anmelden und testen)

 rm -rf /home/whatever.orig 

Dadurch wird das gesamte Verzeichnis (und der gesamte Inhalt) auf den Ziel-Mountpoint kopiert, das ursprüngliche Ausgangsverzeichnis umbenannt (falls dabei etwas kaputt geht, können wir es wiederherstellen) und eine symbolische Verknüpfung vom neuen Speicherort zum ursprünglichen Ausgangsverzeichnis erstellt Das Verzeichnis (auf das alles (wie / etc / passwd) noch verweist) entfernt, sofern es funktioniert hat, die Sicherungskopie, die wir erstellt haben. Die Kopie verbleibt im Zieldateisystem.

Matt Simmons
quelle
Dies wird nicht wirklich /homeals Einhängepunkt für die neue Partition verwendet. Es ist nur eine Verknüpfung.
Matthew Flaschen
Es ist praktisch dasselbe. Nur weil / home / username ein Symlink ist, heißt das nicht, dass es nicht funktioniert. Wenn Sie alle Benutzerkonten auf der anderen Partition ablegen möchten, ändern Sie einfach die Zeile 'cp -R' in 'do / home' anstelle von '/ home / username'
Matt Simmons