Unison (Software)
Unison ist ein freies Synchronisierungsprogramm für Unix/Linux, Windows, macOS, Solaris und einige andere Betriebssysteme. Es gleicht Dateien zwischen lokalen oder entfernten (auf anderen Computern liegenden) Verzeichnissen ab.
Unison | |
---|---|
Kommandozeilenversion unter Linux | |
Basisdaten | |
Entwickler | Benjamin C. Pierce u. a. |
Aktuelle Version | 2.51.4[1] (24. Juni 2021) |
Betriebssystem | Unix-Derivate, macOS, Windows |
Programmiersprache | Objective CAML |
Kategorie | Freie Software zur Dateisynchronisierung |
Lizenz | GPLv3 or later |
deutschsprachig | nein |
www.cis.upenn.edu/~bcpierce/unison |
Merkmale
Unison verfügt über die folgenden Merkmale:
- plattformübergreifend verfügbar (Windows, Linux, Unixe, macOS etc.).
- kann Änderungen im Dateibestand auf beiden Seiten der Replikation verarbeiten; Konflikte (gleiche Datei auf beiden Seiten geändert) werden angezeigt und können manuell aufgelö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 Replikaten 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 Replikationskonflikten werden übersprungen.
Unison prüft nach dem Start den Dateibestand pro Verzeichnis bzw. Computer und vergleicht die Zeitstempel der Dateien. Stellt es Veränderungen fest, werden die Änderungen der entsprechenden Dateien genauer analysiert. Danach erstellt Unison eine Replikationsliste mit Vorschlägen für deren 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
Für den interaktiven Einsatz existieren GUI-Versionen von Unison. Unter Windows und Linux basieren sie allgemein auf GTK+. Die GUI-Versionen ermöglichen eine einfachere Übersicht über die Replikate und die vorgeschlagene Synchronisation. Änderungen können per Tastatur oder Maus einzeln vorgemerkt und danach gebündelt umgesetzt werden.
Einschränkungen
Unison arbeitet auf Basis der lokalen Dateisysteme. Findet die Replikation zwischen unterschiedlichen Dateisystemen statt, können Probleme in den folgenden Bereichen auftreten:
- Dateiattribute, wenn sie nicht gleichartig von beiden Dateisystemen unterstützt werden (Beispiel: FAT32- ggü. POSIX-Attribute)
- Dateiberechtigungen, wenn sie unterschiedlich behandelt werden (Beispiel: NTFS- ggü. FAT32- ggü. Unix-Dateisysteme).
- Dateinamen, wenn deren Groß-/Kleinschreibung unterschiedlich interpretiert wird (Beispiel: NAME.TXT, name.txt oder Name.txt sind unter Unix-Dateisystemen drei unterschiedliche Dateien, aber unter FAT32 wegen fehlender Unterscheidung zwischen Groß- und Kleinschreibung ein und dieselbe Datei).
- Symbolische Links, die insbesondere in Unix-artigen Systemen häufig zur Anwendung kommen.