Zum Inhalt springen

Unison (Software)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 3. Dezember 2010 um 14:28 Uhr durch KaiMartin (Diskussion | Beiträge) (Siehe auch: Themenring-Siehe-auch raus). Sie kann sich erheblich von der aktuellen Version unterscheiden.
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
Programmier­sprache Objective CAML
Kategorie Freie Software
Lizenz GPL (Freie Software)
deutschsprachig nein
www.cis.upenn.edu/~bcpierce/unison

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-bzw. Administratorenrechte
  • 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 Profildateien 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 bzw. 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 (Linux, Apple, Windows etc.) mit einem Server.

Benutzeroberflächen

Mac OS X GUI von Unison (macuinew)

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 Schwung 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 Groß- bzw. Kleinschreibung, Beispiel: NAME.TXT, name.txt oder Name.txt bezeichnen bei FAT32 dieselbe 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.