27.3. Einführung in Unison

Unison eignet sich hervorragend für Synchronisierung und Transfer ganzer Verzeichnisstrukturen. Die Synchronisierung erfolgt in beide Richtungen und lässt sich intuitiv über eine grafische Oberfläche steuern. Eine Konsolenversion kann ebenfalls verwendet werden. Die Synchronisierung lässt sich auch automatisieren, damit keine Interaktion mit dem Benutzer anfällt. Dazu ist jedoch einige Erfahrung nötig.

27.3.1. Anforderungen

Unison muss sowohl auf dem Client als auch auf dem Server installiert sein. Hier ist mit Server ein zweiter, entfernter Host gemeint (im Unterschied zu CVS, siehe Abschnitt 27.1.2, „CVS“).

Im folgenden Abschnitt wird Unison zusammen mit ssh verwendet. In diesem Fall muss ein SSH-Client auf dem Client und ein SSH-Server auf dem Server installiert sein.

27.3.2. Verwendung von Unison

Das Grundprinzip bei Unison ist, zwei Verzeichnisse (so genannte roots) aneinander zu binden. Diese Bindung ist symbolisch - es handelt sich nicht um eine Online-Verbindung. In diesem Beispiel ist das Verzeichnis-Layout wie folgt:

Client:

/home/tux/dir1

Server:

/home/geeko/dir2

Diese beiden Verzeichnisse sollen synchronisiert werden. Auf dem Client ist der Benutzer als tux bekannt, auf dem Server dagegen als geeko. Als Erstes soll getestet werden, ob die Kommunikation zwischen Client und Server funktioniert:



unison -testserver /home/tux/dir1 ssh://geeko@server//homes/geeko/dir2

Die häufigsten Probleme, die hierbei auftreten können:

  • Die auf dem Client und Server eingesetzten Versionen von Unison sind nicht kompatibel.

  • Der Server lässt keine SSH-Verbindung zu.

  • Keiner der angegebenen beiden Pfade existiert.

Wenn alles funktioniert, lassen Sie die Option -testserver weg. Bei der ersten Synchronisierung kennt Unison die Beziehung zwischen den beiden Verzeichnissen noch nicht und macht von daher Vorschläge für die Übertragungsrichtung der einzelnen Dateien und Verzeichnisse. Die Pfeile in der Spalte Action geben die Übertragungs­richtung an. Ein Fragezeichen bedeutet, dass Unison keinen Vorschlag zur Übertragungs­richtung machen kann, da beide Versionen in der Zwischenzeit geändert wurden bzw. neu sind.

Mit den Pfeiltasten können Sie die Übertragungsrichtung für jeden Eintrag einstellen. Stimmen die Übertragungsrichtungen für alle angezeigten Einträge, dann klicken Sie einfach auf Go.

Das Verhalten von Unison (z. B., ob in eindeutigen Fällen die Synchronisierung automatisch durchgeführt werden soll) lässt sich beim Programmstart mithilfe von Befehlszeilenparametern steuern. Eine komplette Liste aller Parameter liefert unison --help.

Beispiel 27.1. Die Datei ~/.unison/example.prefs

root=/home/tux/dir1
root=ssh://wilber@server//homes/wilber/dir2
batch=true

Für jede Bindung wird im Benutzerverzeichnis ~/.unison ein Synchronisierungsprotokoll geführt. Konfigurationssets, wie ~/.unison/example.prefs, können ebenfalls in diesem Verzeichnis gespeichert werden. Um die Synchronisierung zu starten, geben Sie diese Datei als Befehlszeilenparameter an, wie in unison example.prefs.

27.3.3. Weitere Informationen

Die offizielle Dokumentation zu Unison ist äußerst nützlich. Daher gibt dieser Abschnitt nur eine kurze Einführung. Das vollständige Handbuch steht unter http://www.cis.upenn.edu/~bcpierce/unison/ und mit dem SUSE-Paket unison zur Verfügung.