Linux Homeverzeichnis verschieben

Linux Homeverzeichnis verschieben

Wer bei der Installation von Linux keine gesonderte Partition oder gar ein anderes Laufwerk für das Home-Verzeichnis der später hinzugefügten Nutzer anlegt und referenziert, der wird sein Linux Home-Verzeichnis mit auf die Hauptpartition (rootfs) gesetzt bekommen.
Das ist vor allem dann ein Ärgernis, wenn man nachträglich eine zusätzliche Festplatte kauft oder es bei der Installation schlichtweg vergessen hat.

Das Schöne an Linux ist jedoch, dass eigentlich alles im Betriebssystem dateibasiert abläuft. Windows hingegen arbeitet derweil häufig tabellenbasiert (die berühmte Registry). Wird etwas gesucht, so wird in bestimmten Dateien nach einem Eintrag gefiltert. Wird eine Partition eingehägt, so wurde vorher in einer anderen Datei nach den einzuhängenden Partitionen geschaut.

Eben jenes Verhalten machen wir uns nun zu Nutze, um das Verschieben des Home-Verzeichnisses nachzuholen.
Übrigens: Der Installer von bspw. Ubuntu hätte auch nichts anderes getan.

Eine kleine Einschränkung gibt es. Sollten wir das Home-Verzeichnis NICHT nur in einen anderen Ordner verschieben, sondern gar auf eine andere Partition oder ein anderes Laufwerk müssen wir einen zusätzlichen Schritt unternehen, damit die gesonderte Partition auf jeden Fall beim Start des Rechners mit eingehängt wird und damit zur Verfügung steht.

Selbes Laufwerk:

Als erstes navigieren wir auf der selben Partition in den gewünschten Ordner, in dem das neue Home-Verzeichnis liegen soll.


cd /neuesHome/


Sollte der entsprechende Unterordner, wie "DeinName" noch nicht existieren können wir eines mit folgendem Befehl erstellen:

sudo mkdir ./DeinName

Anschließend kopieren wir alle Dateien und Ordner aus dem alten Verzeichnis in das Neue und vergeben die entsprechenden Nutzerrechte:


cp -R ./home/[DeinName] ./neuesHome/[DeinName]
sudo chown -R [DeinName] /neuesHome/[DeinName]


Zum Schluss müssen wir noch die Datei anpassen, die bestimmt in welchem Verzeichnis das Home-Verzeichnis des entsprechenden Nutzers liegt.
Dazu öffnen wir folgende Datei, editieren den neuen Pfad und Speichern mit Strg+X und Enter:


sudo nano /etc/passwd


Wenn das neue Home-Verzeichnis auf anderem Laufwerk liegt:

Als erstes navigieren wir auf der selben Partition in den gewünschten Ordner, in dem das neue Home-Verzeichnis liegen soll.

cd /neuesHome/


Sollte der entsprechende Unterordner, wie "DeinName" noch nicht existieren können wir eines mit folgendem Befehl erstellen:

sudo mkdir ./DeinName

Nun kopieren wir uns die UUID des neuen Laufwerkes, auf dem das neue Home-Verzeichnis später liegen soll.
Folgender Befehl zeigt eine Liste an Partitionen

blkid


Das Ganze sieht dann beispielweise so aus:

/dev/sda1: UUID="D863-C0AA" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f675126d-fae9-4c8e-9786-ee9709ea5fcb"
/dev/sda2: UUID="c38a0f15-5464-4835-b111-edb3cd2f3742" TYPE="ext4" PARTUUID="fb99c416-54a0-425f-f78d-b13a9f67bfef"
/dev/sdb1: LABEL="HDD" UUID="ba75a0a0-eb09-49af-ad30-eb15585562f2" TYPE="ext4" PARTUUID="4a8eaf51-01"


Angenommen sda1 ist meine Boot-Partition und sda2 mein rootfs, auf dem das Home-Verzeichnis aktuell liegt, so möchte ich mein Home-Verzeichnis nun neuerdings auf der viel größeren HDD zu finden wissen. Ergo muss ich dafür Sorge tragen, dass /sdb1 beim Start des Rechners mit eingebunden wird. Dazu kopiere ich nun also die UUID "ba75a0a0-eb09-49af-ad30-eb15585562f2".

Die kopierte UUID trage ich nun über folgenden Befehl in den sich öffnenden Editor ein und speichere mit Strg+x und Enter:

sudo nano /etc/fstab


Einzufügender Inhalt:

UUID=ba75a0a0-eb09-49af-ad30-eb15585562f2 /neuesHome ext4 errors=remount-ro 0 1

Anschließend kopieren wir alle Dateien und Ordner aus dem alten Verzeichnis in das Neue und vergeben die entsprechenden Nutzerrechte:

cp -R ./home/[DeinName] ./neuesHome/[DeinName]
sudo chown -R [DeinName] /neuesHome/[DeinName]


Zum Schluss müssen wir noch die Datei anpassen, die bestimmt in welchem Verzeichnis das Home-Verzeichnis des entsprechenden Nutzers liegt.
Dazu öffnen wir folgende Datei, editieren den neuen Pfad und Speichern mit Strg+X und Enter:

sudo nano /etc/passwd


Marvin

Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Hat dir dieser Artikel gefallen?

Kommentar hinzufügen

*Pflichtfeld