Auf die Frage nach der praktikabelsten Art, Daten in einem Netzwerk mehreren Rechnern zur Verfügung zu stellen, lautet die erste Antwort meist: per Fileserver. In kleinen Umgebungen mit wenigen Rechnern lohnt sich der hohe Verwaltungsaufwand aber oft nicht. Wer jedoch Verzeichnisse zwischen zwei Rechnern synchron halten will, kann das auch plattformübergreifend mit Unison erledigen.
Installation
Die Installation von Unison [1] gestaltet sich unter Linux unkompliziert, da die meisten Distributionen es als Paket im Repository anbieten. Unter Ubuntu genügt ein einfaches sudo apt-get install unison-gtk. Die GTK-Variante enthält neben der grafischen Oberfläche auch die konsolenbasierte Version.
Als Werkzeug zur Synchronisation über das Netz setzt Unison eine bestehende Netzwerkverbindung voraus und bietet verschiedene Methoden für den Abgleich an (siehe Tabelle "Unison-Verbindungstypen"). Wir gehen hier auf die Verbindung via SSH ein. Zwar bringt Windows keinen eigenen SSH-Server mit, es gibt jedoch freie Implementationen auch für dieses Betriebssystem: beispielsweise OpenSSH unter Cygwin [2]. Synchronisieren Sie zwei Linux-Rechner, erübrigt sich dieser Umweg.
Unison-Verbindungstypen
| Typ | Erläuterung |
|---|---|
| Lokal | Hierbei nehmen Sie einen Abgleich zwischen zwei Verzeichnissen auf dem selben Rechner vor. Beispiel: unison /pfad/dir/a /pfad/dir/b. Einer der beiden Pfade darf auch ein via /etc/fstab eingehängtes Verzeichnis (NFS, SMB) eines entfernten Rechners sein.
|
| SSH | Vor dem Abgleich zweier Systeme baut Unison eine verschlüsselte Verbindung via SSH auf. Es muss also mindestens auf einem der beiden Rechner ein SSH-Client, auf dem anderen ein SSH-Server laufen. Beispiel: unison /pfad/dir/a ssh://Benutzer
@Rechner
/pfad/dir/b.
|
| Socket | Eine äußerst unsichere Methode, bei der Sie auf einem der beiden Systeme einen Unison-Socket starten. Über diesen kann ein potenzieller Angreifer auf das Dateisystem zugreifen. Mitunter verlaufen sämtliche Synchronisationen unverschlüsselt. Die SSH-Methode ist deshalb vorzuziehen. |
Linux unter Windows
Bei Cygwin handelt es sich um eine Unix-API-Emulation für Windows, die den Betrieb einer Vielzahl von Programmen auf dem fremden System erlaubt. Dazu gehören unter anderem OpenSSH und Unison, sowie ein vollständiger X-Server [3]. Für die hier gestellte Aufgabe genügen allerdings die beiden erstgenannten Pakete. Die Installation ist äußerst simpel und erinnert an Paketverwaltungen (Abbildung 1) verschiedener Linux-Distributionen. Eine kurze Anleitung für die Installation von Cygwin unter Windows finden Sie im Artikel "Datentandem Unison" [4]. Eine Anleitung, wie Sie OpenSSH unter Cygwin installieren und einrichten, finden Sie unter [5].
Damit Unison funktioniert, müssen Sie es auf beiden zu synchronisierenden Rechnern installieren, also sowohl unter Linux als auch unter Windows. Auf der Downloadseite stellen die Entwickler eine textbasierte und eine grafische Variante für Windows zur Verfügung. Benutzer der Media-Ausgabe des LinuxUser finden die benötigten Programme auf der Heft-DVD im Verzeichnis /LinuxUser/unison/.
Um die grafische Version zu nutzen, gilt es jedoch zunächst das GTK-Paket (gtk-runtime-Version
.exe) zu installieren. Benutzen Sie Cygwin, können Sie sich diese Installation allerdings sparen: Es enthält bereits ein vorkompiliertes Paket, das Sie rasch und ohne große Schwierigkeiten in der aktuellsten Version mit der Cygwin-Paketverwaltung installieren.
Haben Sie OpenSSH für Cygwin eingerichtet, verläuft ein erster Verbindungsversuch von Linux zu Windows via SSH wie zwischen zwei Linux-Systemen. Nach erfolgreicher Verbindung folgt die Passwortabfrage, nach dem Login erscheint in der Linux-Konsole der Prompt von Cygwin.



