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