Moin nac,

Am 12.01.2020 14:21 schrieb nac:
Ausgangssituation;
3x Debian 10 "buster" die sich regelmäßig mal in einem Netz treffen,
aber auch mal getrennt von einander existieren. Ich hätte gern mein
/home auf allen 3 Systemen gleichermaßen verfügbar und aktuell.

Bevor du konkrete technische Lösungen suchst, mach dir klar, dass dieses Problem (so wie beschrieben) schon auf der konzeptuellen Ebene so gut wie unlösbar ist.

Der einfache Fall (der tatsächlich lösbar sein kann) ist, wenn zu jedem Zeitpunkt nur maximal eines dieser drei Systeme aktiv ist. Dann gibt es keine Bearbeitungskonflikte. Dann bleibt "nur" die Frage, wie man bei beweglichen Systemen (Notebooks, Tablets etc.) auf die Hauptkopie des /home zugreift.

Sobald mehrere Systeme parallel aktiv sind, stellt sich die Frage, wie die Änderungen an den verschiedenen /home zusammengeführt werden sollen. Bei Textdateien ist ein `git merge` oder ähnlich noch ziemlich machbar, aber was machst du bei Binärdateien? Firefox zum Beispiel legt jede Menge Kram in SQLite-Datenbanken ab. Und selbst wenn du dafür ein passendes Merge-Tool hast, stellt sich die Frage, wie du inhaltliche Merge-Konflikte auflöst.

Ich habe vor Jahren auch schon mal überlegt, ob ich mein /home zwischen dem Desktop-PC zuhause und meinem Notebook syncen kann, und habe die offensichtliche Lösung "das ganze /home syncen" deswegen verworfen. Mein Ansatz sieht zurzeit wie folgt aus:

1. Wichtige textbasierte Konfigurationsdateien (Shell, vim, Firefox, etc.) liegen in einem Git-Repo (https://github.com/majewsky/devenv). Die entsprechenden Files existieren im Home-Verzeichnis als Symlinks in das Repo (siehe install.sh in dem Repo). Ab und an committe ich die Änderungen in diesem Repo und pulle auf den anderen Systemen.

2. Bestimmte Binärdateien (insb. LibreOffice-Kram), von denen ich weiß, dass ich sie auf verschiedenen Systemen bearbeiten möchte, liegen ebenfalls in Git-Repos. Diese committe und pushe ich immer sofort nach dem Bearbeiten, damit keine Konflikte entstehen.

3. Alle Systeme schreiben ihr /home-Backup zum selben Server. Wenn ich mal eine Datei brauche, die auf einem anderen System liegt und nicht in Versionskontrolle ist, kann ich sie mir aus dem Backup des entsprechenden Systems holen.

4. Bestimmte Applikationen haben ihr Sync schon eingebaut. Das Thunderbird-Verzeichnis muss ich nicht syncen, denn die Mails liegen eh auf dem Mailserver und sind per IMAP erreichbar. Analog könnte man Firefox-Einstellungen per Firefox Sync in Form halten. (Dieser Ansatz setzt natürlich voraus, dass man dem Anbieter der Sync-Server vertraut.)

Mir ist klar, dass das nicht die Antwort ist, die du hören möchtest. Aber das Problem, wie du es beschreibst, ist hinreichend kompliziert, dass ich dir empfehlen würde: "Pick your fights". Synchronisiere die Sachen, die dir wichtig sind. Und schere dich nicht um die anderen 20.000 Config-Files, die eh nicht interessant sind und nur andauernd Merge-Konflikte erzeugen.

Schöne Grüße
Stefan

Antwort per Email an