So verschieben Sie Ihr Linux-Home-Verzeichnis auf ein anderes Laufwerk

Möchten Sie Ihren Linux-Home-Ordner auf ein anderes Laufwerk verschieben? Hier ist eine einfache und schrittweise Vorgehensweise, die bei jeder Distribution funktionieren sollte. Wenn Sie Ihren Home-Ordner verschieben, können Sie Linux neu installieren und müssen sich nicht um Ihre persönlichen Dateien kümmern.

Warum sollten Sie Ihren Heimordner getrennt halten?

Wenn Sie eine neue Maschine einrichten oder eine Festplatte zu einer vorhandenen hinzufügen, möchten Sie möglicherweise Ihr Home-Verzeichnis auf einem anderen Laufwerk als dem Standardverzeichnis speichern.

Eine immer beliebter werdende Konfiguration für moderne PCs besteht darin, ein mittelgroßes Solid State Drive (SSD) mit Ihrem Betriebssystem und ein größeres Solid State Hybrid Drive (SSHD) oder eine herkömmliche Festplatte (HD) als Hauptspeicher für Daten zu verwenden. Oder Sie haben eine einzelne herkömmliche Festplatte in Ihrem System und haben eine neue HD für mehr Speicherplatz hinzugefügt. Was auch immer Ihre Gründe sind, hier ist ein einfacher und schneller Durchlauf zum Verschieben Ihres Home-Verzeichnisses.

Übrigens, wenn Sie ein Linux-System von Grund auf neu installieren, sehen Sie wahrscheinlich eine Option zum Erstellen eines separaten Home-Verzeichnisses im Installationsprogramm Ihrer Linux-Distribution. Im Allgemeinen müssen Sie nur in die Partitionierungsoptionen gehen, eine separate Partition erstellen und sie unter „/home“ mounten. Wenn Sie jedoch bereits eine Linux-Distribution installiert haben, können Sie diese Anweisungen verwenden, um Ihr aktuelles Home-Verzeichnis an einen neuen Ort zu verschieben, ohne etwas zu verlieren oder Ihr Betriebssystem neu zu installieren.

Bevor wir beginnen, gehen Sie und machen Sie ein Backup.

So sichern Sie Ihr Linux-System mit rsync

Identifizieren Sie das Laufwerk

Wenn Sie gerade ein Laufwerk in einen Linux-Computer eingebaut oder Linux auf einem der Laufwerke in einem neuen Computer mit mehreren Laufwerken installiert und neu gestartet haben, gibt es kaum Hinweise darauf, dass das neue Laufwerk überhaupt vorhanden ist.


Die fdisk Befehl wird listet die Laufwerke und ihre Partitionen auf für uns.

sudo fdisk -l

Scrollen Sie durch die Ausgabe, bis Sie das neue Laufwerk identifiziert haben. Das erste Laufwerk heißt /dev/sda , das zweite ist /dev/sdb und so weiter, wobei der letzte Buchstabe jedes Mal erhöht wird. So /dev/sde wäre die fünfte Festplatte im System.

in diesem example, ist das neue Laufwerk das zweite Laufwerk, das in das System eingebaut wird. Wir müssen also nach einem Eintrag suchen für /dev/sdb.

/dev/sdb ist oben hervorgehoben. Sie werden feststellen, dass es keine Zeile gibt, die eine Partition beschreibt. Es ist ein brandneues Laufwerk, also wird es noch keins haben. Wir müssen die Partition erstellen. Wir können dies tun mit fdisk. Wenn Ihre Festplatte nicht ist /dev/sdb, stellen Sie sicher, dass Sie ersetzen /dev/sdb mit der tatsächlichen Laufwerkskennung für Ihre neue Festplatte im Befehl.

sudo fdisk /dev/sdb

Wann fdisk fordert Sie zur Eingabe eines Befehls auf, drücken Sie den Buchstaben p. Dies druckt die Partitionstabelle für die Festplatte. Wir wissen, dass es keinen haben wird, aber wir erhalten einige nützliche Informationen über das Laufwerk. Dies gibt uns eine gute Chance, sicherzustellen, dass das Laufwerk, für das wir eine Partition erstellen, das Laufwerk ist, mit dem wir arbeiten wollten.

Es sagt uns, dass es sich bei dem Laufwerk um ein 1-TB-Laufwerk handelt, was unseren Erwartungen in diesem Testgerät entspricht, also fahren wir fort.

Erstellen Sie eine Partition

Drücken Sie den Buchstaben n für eine neue Partition und drücken Sie dann p für eine primäre Partition. Wenn Sie nach der Partitionsnummer gefragt werden, drücken Sie die Nummer 1.


Wir werden eine einzelne Partition für die gesamte Festplatte erstellen. Wenn wir also nach dem ersten Sektor gefragt werden, können wir drücken Enter um den Standardwert zu übernehmen. Sie werden dann nach dem letzten Sektor gefragt und Enter akzeptiert den Standardwert.

Obwohl fdisk bestätigt, dass eine 1-TB-Linux-Partition erstellt wurde, die Partitionsnummer 1 ist, auf der Festplatte hat sich noch nichts geändert. Bis du gibst fdisk den Befehl, die Änderungen auf das Laufwerk zu schreiben, bleibt das Laufwerk unberührt. Wenn Sie sicher sind, dass Sie mit unserer Auswahl zufrieden sind, drücken Sie den Buchstaben w um die Änderungen auf das Laufwerk zu schreiben.

Auf die Partition wurde geschrieben /dev/sdb . Sehen wir uns an, was gerade passiert ist. Wir verwenden fdisk noch einmal auf /dev/sdb.

sudo fdisk /dev/sdb

Drücken Sie den Buchstaben p um diese Partitionstabelle zu drucken, und Sie werden sehen, dass jetzt eine Partition für das Laufwerk aufgelistet ist. Da es die erste Partition auf diesem Laufwerk war, heißt sie /dev/sdb1. Eine zweite Partition würde heißen /dev/sdb2, und so weiter.

Wir möchten keine Änderungen an der Partition vornehmen, also drücken Sie den Buchstaben q beenden.

Erstellen Sie ein Dateisystem auf der Partition

Wir müssen ein Dateisystem auf der Partition erstellen. Das geht ganz einfach mit dem mkfs Befehl. Beachten Sie, dass Sie die Partitionsnummer angeben müssen im Befehl. Seien Sie vorsichtig beim Tippen /dev/sdb1 (die Partition) und nicht /dev/sdb (die Fahrt).

sudo mkfs -t ext4 /dev/sdb1


Das Dateisystem wird für Sie erstellt und Sie kehren zur Eingabeaufforderung zurück.

Montage des neuen Laufwerks

Um das neue Laufwerk zu verwenden, müssen wir die Partition darauf an einem Mount-Punkt im Dateisystem mounten. Um genau zu sein, mounten wir weder das Laufwerk noch die Partition, wir mounten das Dateisystem auf der Partition, indem wir es in den Dateisystembaum Ihres Systems einpfropfen.

Die /mnt Point ist so gut wie jeder andere. Es ist nur ein temporärer Mount-Punkt, der es uns ermöglicht, Daten auf das neue Laufwerk zu kopieren. Wir werden die verwenden mount Befehl zum Mounten des Dateisystems auf der ersten Partition auf /dev/sdb, bei /mnt .

sudo mount /dev/sdb1 /mnt

Wenn alles gut geht, werden Sie ohne Fehlermeldungen zur Befehlszeile zurückgeleitet. Mal sehen, ob wir das Verzeichnis auf unser neu gemountetes Dateisystem ändern können.

cd /mnt

Ja wir können. mal sehen was hier ist.

ls -ahl

Wir befinden uns in unserem neuen Dateisystem. Das Standardverzeichnis „Lost+Found“ ist nicht erforderlich, damit wir es entfernen können.

sudo rm -rf lost+found

Kopieren Ihres Home-Ordners

Wir müssen alles vom alten Home-Verzeichnis in das neu gemountete Dateisystem kopieren. Verwendung der r (rekursiv) und p (beibehalten) Optionen stellen sicher, dass alle Unterverzeichnisse werden kopiert und dass Dateieigentümer, Berechtigungen und andere Attribute beibehalten werden.

sudo cp -rp /home/* /mnt


Wenn der Kopiervorgang abgeschlossen ist, verwenden Sie ls um sich umzusehen und zu überprüfen, ob sich Ihre Daten dort befinden, wo Sie sie im neuen Dateisystem erwarten. Mit anderen Worten, wenn /mnt war dein Home-Verzeichnis, ist alles vorhanden und korrekt?

ls
ls dave

Sie werden wahrscheinlich etwas gründlicher sein wollen, als wir es auf der Testmaschine waren, auf der dieser Artikel recherchiert wurde. Als Sicherheitsnetz werden wir Ihr altes umbenennen und behalten /home Verzeichnis, bis Sie sicher sind, dass es sicher ist, es zu löschen.

sudo mv /home /home.orig

Und wir erstellen ein neues, leeres Home-Verzeichnis.

sudo mkdir /home

Wir verwenden dieses neue leere Home-Verzeichnis als Mount-Punkt für unser Dateisystem auf der neuen Festplatte. Wir müssen es aushängen von /mnt und wieder montieren /home. Beachten Sie, dass der Befehl umount hat kein „n“ nach dem „u“.

Aber zuerst wechseln wir in das Root-Verzeichnis (mit cd / ), um sicherzustellen, dass wir uns nicht in einem Verzeichnis befinden, das in die Mount- oder Unmount-Positionen aufgenommen wird.

cd /
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/

Die Linux-Verzeichnisstruktur, erklärt

Testen Sie Ihr neues Home-Verzeichnis

Mal sehen, was die Attribute der /dev/sdb1 Partition sind jetzt:

df /dev/sdb1


Uns wird der Name des Dateisystems, die Größe der Partition und der belegte und verfügbare Speicherplatz angezeigt und vor allem, wo es gemountet ist. Es ist jetzt unser /home Verzeichnis. Das bedeutet, dass wir in der Lage sein sollten, genau wie auf das alte zu verweisen /home Verzeichnis.

Wenn wir zu einem beliebigen Punkt im Dateisystem wechseln, sollten wir in der Lage sein, zurück zu /home Verwendung der ~ Tilde-Verknüpfung.

cd /
cd ~
pwd
ls

cd /home
ls
cd dave
ls
ls -a

Wir können uns durch das Dateisystem hin und her bewegen zu /home mit expliziten Befehlen und mit dem ~ Abkürzung. Die Ordner, Dateien und Punktdateien, die wir erwarten würden, sind alle vorhanden. Es sieht alles gut aus.

Wenn etwas fehlt, können wir es aus der /home.orig Verzeichnis, auf das wir im Stammverzeichnis des Dateisystems noch Zugriff haben. Aber es sieht alles gut aus.

Jetzt brauchen wir /dev/sdb1 wird bei jedem Start Ihres Computers automatisch gemountet.

Bearbeiten von fstab

Die Datei „fstab“ enthält Beschreibungen der Dateisysteme, die beim Booten des Systems gemountet werden. Bevor wir Änderungen daran vornehmen, erstellen wir eine Sicherungskopie davon, auf die wir bei Problemen zurückgreifen können.

sudo cp /etc/fstab /etc/fstab.orig


Jetzt können wir die fstab-Datei bearbeiten. Verwenden Sie Ihren Lieblingseditor, den wir verwenden gedit. Jeder Texteditor wird es tun.

sudo gedit /etc/fstab

Sie müssen am Ende der Datei eine Zeile hinzufügen, um unser neues zu mounten /home Verzeichnis. Wenn sich Ihre Laufwerks- und Partitionskennungen von den hier verwendeten unterscheiden example, ersetzen Sie diese durch die /dev/sdb1 hier gezeigt.

  • Geben Sie den Namen der Partition am Anfang der Zeile ein und drücken Sie dann die Tabulatortaste.
  • Geben Sie den Mount-Punkt ein, /home, und drücken Sie die Tabulatortaste.
  • Geben Sie die Dateisystembeschreibung ein ext4, und drücken Sie die Tabulatortaste.
  • Typ defaults für die Mount-Optionen und drücken Sie die Tabulatortaste.
  • Geben Sie die Ziffer ein 0 für die Dateisystem-Dump-Option und drücken Sie die Tabulatortaste.
  • Geben Sie die Ziffer ein 0 für die Dateisystem-Check-Option.

Verwenden von gedit zum Bearbeiten der fstab-Datei

Speichern Sie die fstab-Datei.

Starten Sie Ihr System neu

Wir müssen einen Neustart durchführen, um zu überprüfen, ob alles nach Plan gelaufen ist und Sie eine nahtlose Verbindung zu Ihrem neuen haben /home Verzeichnis.

Wenn nicht, hast du immer noch das Sicherheitsnetz deines Originals /home Verzeichnis und fstab-Datei, die bei Bedarf wiederhergestellt werden können. Aufgrund der Vorkehrungen, die wir getroffen haben – Kopieren der /home Verzeichnis- und fstab-Dateien – Sie können Ihr System problemlos in den Zustand zurückversetzen, in dem es sich vor dem Start befand.

sudo reboot now

So starten oder beenden Sie Linux über die Befehlszeile

Abschlussprüfungen

Wenn Ihr System neu startet, überprüfen wir einfach, ob Ihr /home Das Verzeichnis befindet sich wirklich auf Ihrer neuen Festplatte, und Ihr System ist (wie durch ein Wunder) nicht auf die alte zurückgekehrt /home Verzeichnis.

df /dev/sdb1

Super, es ist montiert /home. Mission erfüllt.

Sobald Sie sich ganz sicher sind, dass Sie die Sicherheitskopie Ihres alten /home Verzeichnis, können Sie es löschen:

cd /
sudo rm -rf home.orig/


Und natürlich, wenn Sie feststellen, dass etwas nicht vom Alten übernommen wurde /home zu deinem neuen /home, können Sie es aus der Sicherung wiederherstellen, die Sie vor dem Start erstellt haben.

Trautes Heim, Glück allein

Jetzt, wo du dich getrennt hast /home Verzeichnis von der restlichen Partition des Betriebssystems, können Sie Ihr Betriebssystem neu installieren und Ihre Daten bleiben unberührt. Alles, was Sie tun müssen, ist die fstab-Datei zu bearbeiten, um Ihr zweites Laufwerk zu mounten /home.

Und weil alle deine Dotfiles in deinem sind /home Verzeichnis, wenn Sie Ihre verschiedenen Anwendungen starten, finden diese alle Ihre Einstellungen, Präferenzen und Daten.

Es macht Neuinstallationen schmerzfrei und reduziert das Risiko von Upgrades.

Linux-Befehle
DateienTeer · pv · Katze · tac · chmod · grep · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · journalctl · Schwanz · stat · ls · fstab · Echo · weniger · chgrp · chown · Rev · aussehen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · srm
Prozessealias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · bei · Charge · kostenlos · welcher · dmesg · chfn · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · Jawohl · töten · Schlaf · sudo · es ist · Zeit · groupadd · Benutzermod · Gruppen · lshw · abschalten · neustarten · Halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzungnetstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · curl · wget · Wer · Wer bin ich · w · iptables · ssh-keygen · ufw

Beste Linux-Laptops für Entwickler und Enthusiasten

Related Posts