Viele Benutzer haben mehrere Rechner, auch ich – ich habe einen Linux-Laptop für die Firma, einen Linux-Laptop privat für unterwegs und einen Standrechner zu Hause. Zumindest auf meinen privaten Rechnern will ich dieselben Daten und Einstellungen haben. Das bedeutet natürlich immer synchronisieren – nein, dies bedeutet es nicht, zumindest nicht unter Linux mit Systemd.
Seit einiger Zeit gibt es unter Linux einen neuen Dienst von Systemd, dieser nennt sich „homed„. Grundsätzlich werden die Daten des normalen Benutzers unter Linux unter „/home“ gespeichert, homed geht hier etwas weiter – es speichert die Daten des oder der gewünschten Benutzer auf einem weiteren Medium, also auf einer externen Festplatte. Diese externe Festplatte nimmt man und schließt sie an den nächsten Rechner an, macht dort ganz einfach weiter.
Man kann diese Festplatte mit seinem Home sogar an einen Linux-Rechner anschließen, an dem man noch nie gearbeitet hat – dort weiter arbeiten, man hat seine Daten immer dabei. Optional lässt sich diese externe Festplatte natürlich auch verschlüsseln.
Wir sehen uns diese Geschichte etwas genauer an.
Man kann natürlich auch einen USB-Stick dafür verwenden – empfehlenswert ist dies jedoch absolut nicht. Unter Home werden sehr viele Daten gelesen und geschrieben, der Stick würde wohl sehr schnell kaputt werden.
Inhaltsverzeichnis
Systemd-Homed installieren
Unter auf Debian basierenden Linux-Distributionen installieren Sie diesen Dienst wie üblich ganz einfach über die Paket-Verwaltung durch das Paket „systemd-homed„.
Unter manchen Distributionen sind nachinstallierte Systemd-Dienste nicht automatisch nach der Installation aktiv, kontrollieren Sie, ob der Dienst läuft – als root auf dem Terminal:
systemctl status systemd-homed.service
Ist der Dienst nicht aktiv, aktivieren Sie diesen mit dem Befehl:
systemctl enable --now systemd-homed.service
Systemd-Homed nutzen
Zur Verwaltung der Homed-Benutzer arbeitet man als root auf dem Terminal mit dem Befehl homectl
. Gleich einmal zu Beginn, ich werde hier nicht alle Möglichkeiten zeigen – mit:
man homectl
oder:
homectl --help
erhalten Sie alle Möglichkeiten und Informationen. Wichtig einmal – das externe Medium braucht eine GPT-Partitionstabelle. Grundsätzlich einmal – erstellen Sie ein Backup Ihres Home-Verzeichnisses.
Nehmen wir einmal an, ich möchte das Home-Verzeichnis des Benutzers „robert“ nach Homed migrieren. Als Erstes gilt es einen Homed-Benutzer zu erstellen – dieser wird natürlich den gleichen Benutzernamen haben:
homectl create robert --uid=1000 --real-name="Robert Gödl" --member-of=gruppe,gruppe,gruppe,gruppe,gruppe --image-path=/dev/sdb2 --storage=luks
Mit create robert
erstellen Sie den Benutzer – wichtig, die Daten sollten alle gleich bleiben, also Benutzername, die UID, der reale Name und die Gruppen in denen man Mitglied ist. Mit folgendem Befehl erfahren Sie Ihre UID:
id
In der Ausgabe finden Sie auch die Gruppen, in denen Sie Mitglied sind. Mit [c]–uid=[/c] geben Sie die UID an, mit [c]–member-of=[/c] die Gruppen. Mit [c]–image-path=[/c] geben Sie den Datenträger und die Partition an, auf der das neue Home-Verzeichnis angelegt werden soll. Mit [c]–storage=[/c] geben Sie an, wie gespeichert werden soll – „luks“ – verschlüsselt, „directory“ – einfaches Verzeichnis. Nach der Eingabe des Befehls vergeben Sie auch ein Passwort für den Benutzer und bestätigen dieses.
Jetzt gilt es, die Daten im Home-Verzeichnis auf den gewünschten Datenträger zu verschieben – im gleichen Zug werden die Dateien aus dem alten Home-Verzeichnis gelöscht. Nach obigem Beispiel – aus dem Verzeichnis des Benutzers heraus:
homectl with robert --rsync -aHAXv --remove-source-files /home/robert/ .
Zuletzt löschen Sie Ihr altes Home-Verzeichnis, nach dem Beispiel:
rmdir /home/robert/
Um mit dem mobilen Home-Verzeichnis nun zu einem anderen Rechner wechseln zu können, gilt es denselben Homed-Benutzer dort wieder anzulegen, wie im ersten Befehl – nach dem Beispiel also:
homectl create robert --uid=1000 --real-name="Robert Gödl" --member-of=gruppe,gruppe,gruppe,gruppe,gruppe --image-path=/dev/sdb2 --storage=luks
Anschließend wird das bestehende Home-Verzeichnis des Benutzers dort ebenso gelöscht:
rm -rf /home/robert/
Wichtig – der Befehl ist recht komplex, vor allem, wenn Sie selbst noch weitere Optionen nutzen. Spielen Sie die Geschichte also erst auf einem Testsystem durch, um Fehler zu vermeiden!
Mit der Option update
lassen sich bestehende Nutzer natürlich anpassen – mehr dazu wie immer mittels:
man homectl
Noch keine Reaktion