27.3. Úvod do Unison

Unison je vynikající řešení pro synchronizaci a přenos adresářového stromu. Synchronizace je prováděna v obou směrech a lze ji kontrolovat pomocí přehledného grafického rozhraní. V případě potřeby je k dispozici ovládání přes příkazovou řádku. Synchronizaci lze automatizovat tak, že není potřebný žádný zásah uživatele. Takové nastavení již vyžaduje určité zkušenosti.

27.3.1. Požadavky

Unison je nutné nainstalovat na server i na klienty. Serverem se zde rozumí vzdálený počítač (na rozdíl od CVS, viz 27.1.2 – „CVS“).

V následujících příkladech je Unison používán spolu s ssh. ssh klient musí být nainstalován na klientovi a ssh server na serveru.

27.3.2. Používání Unison

Podstatou práce Unison je asociace dvou adresářů (kořeny, roots). Tato asociace je symbolická — nejde o online spojení. V našem příkladu je asociace následující:

Klient:

/home/tux/dir1

Server:

/home/geeko/dir2

Synchronizovat se budou dva výše uvedené adresáře. Uživatel má na klientovi uživatelské jméno tux a na serveru geeko. Před zahájením práce je vhodné otestovat komunikaci klient—server příkazem:


unison -testserver /home/tux/dir1 ssh://geeko@server//homes/geeko/dir2

Problémy, které mohou nastat:

  • Nekompatibilita verzí Unison na klientu a serveru.

  • Server nepovoluje SSH připojení.

  • Některá z uvedených cest neexistuje.

Pokud vše funguje, vynechejte volbu -testserver. Během první synchronizace Unison nezná vztahy mezi adresáři a navrhne směr přenosu jednotlivých souborů a adresářů. Šipka ve sloupci Action indikuje směr přenosu. Otazník znamená, že Unison nedokáže určit směr přenosu, protože obě verze byly změněny nebo jsou nové.

Kurzorovými klávesami (šipkami) můžete nastavit směr přenosu jednotlivých položek. Pokud jsou nastaveny správné směry pro všechny položky, potvrďte nastavení kliknutím na Go.

Vlastnosti Unison (například, zda má v jasných případech provést synchronizaci automaticky) lze nastavit při spuštění programu v příkazové řádce parametry. Seznam parametrů získáte příkazem: unison --help.

Příklad 27.1. Soubor ~/.unison/example.prefs

root=/home/tux/dir1
root=ssh://wilber@server//homes/wilber/dir2
batch=true

Pro každou dvojici se vytváří záznam (log) v uživatelském adresáři ~/.unison. Konfigurace se také ukládá v tomto adresáři (např. ~/.unison/example.prefs). Při startu synchronizace zadejte na příkazovém řádku soubor s konfigurací jako parametr: unison example.prefs.

27.3.3. Další informace

Velmi užitečná je oficiální dokumentace Unison. Kompletní manuál najdete na stránce http://www.cis.upenn.edu/~bcpierce/unison/ a v SUSE balíčku unison.