27.3. Introduzione a Unison

Unison fornisce uno strumento ideale per sincronizzare e trasferire strutture di directory. La sincronizzazione viene effettuata in entrambe le direzioni e può essere controllata mediante un'interfaccia grafica intuitiva. È possibile usare anche una versione con console. Benché sia possibile anche automatizzare la sincronizzazione in modo da evitare le interazioni utente, il programma richiede una certa esperienza.

27.3.1. Requisiti

Unison deve essere installato sia sul client che sul server. In questo contesto il server è il secondo host, ossia quello più remoto (a differenza di CVS, come spiegato nella Sezione 27.1.2, "CVS").

Nella sezione seguente Unison è stato usato con ssh. In questo caso è necessario installare un client SSH sul client e un server SSH sul server.

27.3.2. Uso di Unison

L'approccio di Unison prevede l'uso contemporaneo di due directory (root). Questa associazione è simbolica e non prevede alcun tipo di connessione effettiva. In questo esempio il layout delle directory è il seguente:

Client:

/home/tux/dir1

Server:

/home/geeko/dir2

Si supponga di voler sincronizzare queste due directory. L'utente è identificato come tux sul client e come geeko sul server. La prima operazione da eseguire consiste nel verificare che il client e il server siano in grado di comunicare correttamente:


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

I problemi più frequenti sono i seguenti:

  • Le versioni di Unison usate sul client e sul server non sono compatibili.

  • Il server non consente connessioni SSH.

  • Nessuno dei due percorsi specificati esiste.

Se la comunicazione viene stabilita correttamente, omettere -testserver. Durante la prima sincronizzazione Unison non conosce ancora la relazione tra le due directory, quindi visualizza una serie di suggerimenti relativi alla direzione di trasferimento dei file e delle directory. Le frecce nella colonna Action (Azione) indicano la direzione di trasferimento. Il simbolo del punto interrogativo indica che Unison non è in grado di fornire alcun suggerimento relativamente alla direzione di trasferimento poiché non è in grado di stabilire se entrambe le versioni sono state modificate o sono nuove.

Per impostare la direzione di trasferimento per le singole voci, è possibile usare i tasti freccia. Se le direzioni di trasferimento sono corrette per tutte le voci visualizzate, fare clic su Go (Vai).

Le impostazioni di Unison (ad esempio se effettuare o meno la sincronizzazione automaticamente nei casi ovvii) possono essere definite mediante i parametri della riga di comando specificati all'avvio del programma. Per visualizzare un elenco completo dei parametri, usare il comando unison --help.

Esempio 27.1. Il file ~/.unison/example.prefs

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

Per ciascuna coppia, viene creato un registro di sincronizzazione nella directory utente ~/.unison. Questa directory può anche contenere set di configurazione come ~/.unison/example.prefs. Per avviare la sincronizzazione, specificare questo file come parametro della riga di comando come in unison example.prefs.

27.3.3. Ulteriori informazioni

La documentazione ufficiale di Unison è molto utile. Per questo motivo, questa sezione fornisce solo una descrizione sommaria. Il manuale completo è disponibile alla pagina Web http://www.cis.upenn.edu/~bcpierce/unison/ e nel pacchetto SUSE unison.