[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Home sync



Hi Stefan,

> 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.

Gute Kritik.

> 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.

Die Symlinks nutzt du um alles in einem Repo zu haben? Warum nicht
einfach von /home aus alles? Das würde doch die Symlinks und damit die
install.sh überflüssig machen.

> 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.)

Das ist schon mal eine interessante Lösung und gibt mir auf jedenfall
neue Denkanstöße. Ich tendiere nun auch mehr in so eine Richtung.

> 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.

Ach ich hatte keine direkten Erwartungen. Ich bin glücklich über jeden
Input den ich bekomme und werde sehen was am Ende für mich passt. Vielen
lieben danke.



vlg

nac


Reply to: