====== Unison ====== Unison ist ein Tool um Dateien in zwei Richtungen zu synchronisieren. ===== Versionen ===== Unison ist anspruchsvoll, was die Kompatibilität zwischen verschiedene Unisonversionen und die Kompatibilität zu den Ocaml-Versionen, mit denen Unison kompiliert wird: * Die verwendete Minorversion ''y'' von Unison (Version ''x.y.z'') muss auf beiden Seiten übereinstimmen! * Die zum Kompilieren verwendete Ocaml-Version muss auf beiden Seiten übereinstimmend entweder < 4.02 oder > 4.02 sein (siehe [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802919|Bugreport]])! * Unison lässt sich nicht mit jeder Ocaml-Version kompilieren. Funktionierende Kombinationen sind beispielsweise: ^Unison^Ocaml^ |2.48.4 |4.05| |2.48.15v4 |4.06| |2.51.5|4.12.0| |2.53|4.12.0| Ab Version 2.52 gibt es eine Vorwärts- und Rückwärtskompatibilität, siehe [[https://github.com/bcpierce00/unison/wiki/2.52-Migration-Guide|2.52 Migration Guide]] ===== Kompilieren ===== Auf exotischeren Plattformen wie ARM oder PowerPC kann das Kompilieren zu nativen Code [[synology#unison|Probleme]] bereiten. ===== Angabe des Remote-Pfads ===== Standardmäßig ist der Pfad auf dem Remoteserver relativ zum Homeverzeichnis. Für unison /local/path ssh://user@remoteserver/dir/ also /home/user/dir. Der Pfad kann mit einem zusätzlichen Slash auch absolut (also /dir) angegeben werden: unison /local/path ssh://user@remoteserver//dir ===== Windows ===== Unison ist auch für Windows [[https://github.com/bcpierce00/unison/releases|verfügbar]]. Die Pakete enthalten auch die benötigten GTK-Bibliotheken, so dass es nicht mehr nötig ist diese aus anderen Projekten wie [[https://sourceforge.net/projects/pidgin/files/GTK%2B%20for%20Windows/|GTK for Windows]] aus dem [[https://pidgin.im/|Pidgin-Projekt]] zu extrahieren. ==== Verschlüsselung via SSH ==== Um Unison über ein Netzwerk verschlüsselt zu benutzen, ist ein SSH-Client erforderlich. Der ab Windows 10 enthaltende SSH-Client ist ausreichend. ==== Einstellungen ==== Da die Dateirechte nicht wie unter Linux mitsyncronisiert werden können, müssen folgende Optionen gesetzt werden: dontchmod = true perms = 0 ===== Links ===== * [[https://www.cis.upenn.edu/~bcpierce/unison/|Homepage]] * [[https://github.com/bcpierce00/unison/releases|Binarys für Linux. Windows, MacOS]] * [[Synology#Unison|Unison für ein Synology-NAS kompilieren]]