Unison (Software)
Unison | |
---|---|
Kommandozeilenversion unter Linux | |
Basisdaten | |
Entwickler | Benjamin C. Pierce u. a. |
Aktuelle Version | 2.32.52 (stable) (25. September 2009) |
Betriebssystem | GNU/Linux, Mac OS X und andere unixoide Systeme, Microsoft Windows |
Programmiersprache | Objective CAML |
Kategorie | Freie Software |
Lizenz | GPL |
deutschsprachig | nein |
Unison Homepage |
Unison ist ein Synchronisierungsprogramm für Unix/Linux, Windows, Mac OS X, Solaris und einige andere Betriebssysteme. Es gleicht Dateien zwischen lokalen oder entfernten (auf anderen Computern liegenden) Verzeichnissen ab.
Merkmale
Unison verfügt über die folgenden Merkmale:
- Plattformübergreifend verfügbar (Windows, Linux, Unixe, Mac OS X etc.).
- Kann Änderungen im Dateibestand auf beiden Seiten der Replikas verarbeiten. Konflikte (gleiche Datei auf beiden Seiten geändert) werden angezeigt und können manuell gelöst werden.
- Kann die geänderten Dateien sichern (Backup-Funktion).
- Abgleich über Rechnernetze (LAN, Internet) durch Direktverbindung (Socket) oder getunnelt über ssh.
- Bandbreitenoptimiert durch Nutzung des rsync-Algorithmus, damit nur geänderte Blöcke von Dateien übertragen werden müssen.
- Arbeitet als Userlevel-Programm und benötigt keine Root/Administratoren-Rechte.
- Ist fehlertolerant, um auch bei Programmabbrüchen oder Netzwerkfehlern stets einen konsistenten Zustand der Replikas zu bewahren.
Funktionsweise
Unison kann über die Kommandozeile mit Parametern aufgerufen oder über Profil-Dateien gesteuert werden. Dabei kann es interaktiv oder batchgesteuert automatisch ausgeführt werden. Im Batch-Modus werden die eindeutigen Änderungen automatisch synchronisiert, Dateien mit Konflikten werden jedoch übersprungen.
Unison scannt nach dem Start den Dateibestand pro Verzeichnis/Computer und vergleicht die Zeitstempel mit der jeweils lokal gespeicherten Liste. Stellt es Veränderungen fest, werden die entsprechenden Dateien genauer geprüft. Danach erstellt Unison eine Übersicht der beiden Replikas mit Vorschlägen für die Synchronisation und markiert nicht automatisch auflösbare Konflikte.
Beispiele für die Verwendung
- Abgleich eines Verzeichnisses mit einer externen Festplatte als Backup.
- Direkter Abgleich von Verzeichnissen zwischen zwei vernetzten Computern.
- Abgleich von Verzeichnissen zwischen einem oder mehreren Computern (Apple, Windows etc.) mit einem Server.
Für den interaktiven Einsatz existieren GUI-Versionen von Unison. Unter Windows und Linux sind diese GTK+-basiert, die entsprechende Komponentenbibliothek muss installiert sein. Die GUI-Versionen ermöglichen eine einfachere Übersicht über die Replikas und die vorgeschlagene Synchronisation. Alle Änderungen können über die Tastatur oder mit der Maus vorgemerkt und danach in einem Rutsch durchgeführt werden.
Limitationen
Unison arbeitet auf Basis der lokalen Dateisysteme. Kommen bei den Replikas verschiedene Dateisysteme zum Einsatz, kann dies zu folgenden Problemen führen:
- Probleme mit Attributen, welche nicht auf beiden Seiten unterstützt werden.
- Probleme mit Dateiberechtigungen (Beispiel: NTFS vs. FAT32).
- Probleme mit Dateinamen in Bezug auf Gross-/Kleinschreibung. Beispiel: NAME.TXT, name.txt oder Name.txt bezeichnen bei FAT32 die selbe Datei, unter ext3 sind dies jedoch drei verschiedene Dateien.
Werden unterschiedliche Betriebssysteme verwendet, so kommt als erschwerender Faktor der Umgang von Unison (bzw. den verwendeten OCAML-Funktionen) mit Sonderzeichen und Umlauten in Dateinamen hinzu. Unison betrachtet Dateinamen als simple Byte-Folgen und kann daher mit Umlauten und anderen Sonderzeichen nur umgehen, wenn die Kodierung des Quell- und des Zielsystems identisch ist. Das bedeutet zum Beispiel, dass eine Synchronisation zwischen Linux und Windows oder Mac OS X nicht sauber funktioniert, da Unison nicht erkennen kann, dass zum Beispiel „Müller.txt" und „MÃŒller.txt" ein und dieselbe Datei sind. Als einziger Ausweg bleibt aktuell nur die Empfehlung in Dateinamen auf die Verwendung von Sonderzeichen und Umlauten zu verzichten.