Wer kennt das nicht? Man sitzt entweder am Desktop oder am Laptop, sucht eine Datei und muss feststellen: Nie hat man die Daten, die man braucht da, wo man sie haben möchte. Das freie Softwarepaket Unison ermöglicht ein sicheres Synchronisieren, unterstützt von einer grafischen Oberfläche.
Ich arbeite daheim am Desktop, unterwegs und in der Uni am Laptop. Die Crux ist offensichtlich - nie hat man die Daten die man braucht da wo man sie haben möchte. Daher habe ich mich irgendwann mal auf die Suche nach einem Werkzeug zum sicheren Synchronisieren gemacht. Gestoßen bin ich dabei auf
Unison, für das eine effiziente GTK-Oberfläche existiert. Es unterstützt sowohl das lokale Synchronisieren, z.B. für Sicherungen zwischen mehreren Festplatten, als auch das entfernte Synchronisieren. Es kann hierbei auf die Protokolle
RSH (Remote Shell),
SFTP (durch SSH getunnelter Dateiaustausch) oder einen TCP Socket zurückgreifen. Die Synchronisation erfolgt partiell, d.h. es werden nur Änderungen versendet, was den Vorgang auch über die heimische DSL-Leitung ermöglicht.

Sowohl unter Ubuntu als auch Debian wird Unison über die Paketquellen bereitgestellt. Bei der Synchronisation ist es wichtig, dass auf beiden Synchronisationsseiten besagte Software installiert ist. Wir nutzen für die Synchronisation selbstverständlich SFTP, das bietet den Vorteil, dass wir automatisch eine Verschlüsselung etablieren können, die unsere Kommunikation absichert.
Auf der entfernten Seite (Server) ist es somit erforderlich das Paket unison, sowie einen OpenSSH-Server für den entfernten Zugang, zu installieren,
Wohingegen der Client eine GTK-Oberfläche genießen kann.
Anschließend steht Unison im GNOME-Menü unter dem Punkt "Zubehör" zur Verfügung.

Das Hauptfenster von Unison zeigt die Differenzen, die zwischen den beiden Synchronisationspartnern bestehen.
Die Konfiguration verläuft in etwa folgendermaßen:
- Beim ersten Start erfolgt die Erstkonfiguration von Unison. Es möchte zunächst den absoluten Pfad des lokal zu synchronisierenden Ordners erhalten
z. B. /home/LinuxLounge/Synchronisation/
-
- Im nächsten Schritt geht es um das Synchronisationssziel und -protokoll. Hier wählen wir als Protokoll SFTP aus den bereits genannten Gründen aus. Der Zugang zu den Textfeldern Host und User wird ermöglicht. Das Directory ist hierbei der absolute Pfad auf der entfernten Seite. Der Port für SSH ist 22; ggf. muss dieser im Router weitergeleitet werden. Die Einstellungen im Detail sind folgende:
- Directory:
/home/LinuxLounge-Remote/Synchronisation
- Host: linuxlounge.dyndns.org
Hier bietet sich eine DynDNS-Adresse für den Heimgebrauch an.
- User: linuxlounge
Der Linux-Systemnutzer, der auf die entfernten Dateien Zugriff hat (Lesen, Schreiben und Ausführen).
Das hierbei angegebene entfernte Verzeichnis muss jetzt erstellt werden, bevor man die Konfiguration fortsetzt.
- Danach fordert Unison zunächst auf das Zertifikat des Servers zu akzeptieren ("Yes") und das Passwort des angegebenen Benutzerkontos auf dem Server anzugeben. Für eine sichere Verbindung sollte hier der sog. Fingerprint überprüft werden!
-
- Unison führt nun, nach der Bestätigung, eine Initialsynchronisierung durch, die je nach Datenmenge etwas Zeit in Anspruch nimmt - dies sollte beim ersten mal beispielsweise im lokalen Netzwerk stattfinden, oder an Orten mit schneller Internetanbindung.
Die Konfiguration ist an dieser Stelle beendet.
Bei jedem Start von Unison kann man nun, da Unison mehrere Profile erlaubt, das jeweilige Profil auswählen. Man wird schließlich zum eingeben des Passworts des entfernten Benutzerzugangs aufgefordert, wonach die Differenzen geprüft werden. Mit einem Klick auf Go wird schließlich die Synchronisierung gestartet.
Da Unison eigentlich nicht zum Standard-Repertoire eines Linux-Nutzers gehört, passt das ganze denke ich recht gut in die "
Blogparade: Exotische Linux-Applikationen" von
Roman Hanhart, hier lohnt sich denke ich bald das reinschauen auch einmal.
Weiterführende Links:
Drucken
Der Autor hat keine Beschreibung über sich erstellt.
August 23rd, 2009
Hi Leute,
Unison steht auch als Slackware Paket zur Verfügung und kann einfach über “slackpkg install unison” installiert werden.
September 16th, 2009
Soviel ich noch von Unison läuft es nicht im client-Server Betrieb, sondern es wird nur 1 Prozerss gestartet, welche beide Seiten analysiert. Dafür müssen aber beide Seiten *vollständig* gelesen werden (i.e. die Daten müssen über’s Netz übertragen werden), daher ist das Argument mit DSL bei großen Datenmengen hinfällig.
Oder hat sich Unison in den letzten Jahren wirklich an der Stelle verbessert ?
effizeinter ist zB rsync (das geht wirklich über DSL da client-server Betrieb), kann aber nur in 1 Richtung synchronisieren.
September 16th, 2009
Hallo @Joel,
so wie ich das verstanden habe ruft Unison-GTK, also das Client Programm, wenn du eine SSH-Verbindung mit dem Server herstellst auf dem Server unison (Den Server) auf, der dann die Änderungen mit den bei ihm lokal liegenden Daten vergleicht. Dies geschieht ebenfalls so, dass nur die Änderungen übertragen werden, keine ganze Dateien, falls diese schon existieren. Außerdem passiert das ganze komprimiert, ich sehe also keinen Vorteil zu rsync.
Wenn du nun die Änderungen mit deiner DSL-Heimleitung dem Server erklärst, dann stehen dir tatsächlich nur deine 1 MBit/s oder ähnliche Upload-Leistung zur Verfügung, also besteht da tatsächlich ein Bottleneck. Das kommt natürlich nur in Frage, wenn du von beiden Seiten aus synchronisierst, also bei mir Laptop < -> Desktop und ich kann von beiden Seiten aus den Synchronisationsvorgang starten.
Danke für deinen Input, ich hoffe ich konnte deine Frage beantworten.
September 16th, 2009
Joel: Dein Argument bezüglich rsync ist ungültig. Ich zitiere “It uses the rsync algorithm developed by Andrew Tridgell. This algorithm transfers only the parts of a file that have changed, and so is faster than copying the whole file.”
Grüße,
Frederik
September 16th, 2009
Ich zitiere mal wikipedia:
“Unison ist sehr effizient in Bezug auf die zu übertragenden Daten, sodass es auch über langsame Rechnernetze verwendet werden kann. Dies wird durch die Verwendung des rsync-Algorithmus ermöglicht, der auch bei kleinen Änderungen in großen Dateien nur wenig Daten übertragen muss.”
Also wird das wohl gehen.
September 30th, 2009
Bei Arch Linux heißt das Paket ebenfalls unison.
PS: In der Willkommensnachricht habt ihr einen kleinen Rechtschreibfehler: “Willkomen zurück auf Jörg Zweier. Ändere »” Aber auch sonst ergibt der Satz für mich keinen wirklichen Sinn.
September 30th, 2009
Ich kann diese Nachricht nicht sehen, wahrscheinlich weil ich schon eingeloggt bin. Ich werde es Notieren und unseren SysAdmin kontaktieren.
Mfg Carl