24.3. Introduzione ad unison

24.3.1. Campi di applicazione

Unison si adatta perfettamente ai fini della sincronizzazione e del trasferimento di interi alberi di directory. La sincronizzazione avviene in entrambi le direzioni e si lascia gestire facilmente tramite un front-end grafico (alternativamente potete utilizzare anche la versione console). Sussiste anche la possibilità di automatizzare il processo di sincronizzazione, cioé far svolgere il tutto senza che sia richiesto un intervento da parte dell'utente.

24.3.2. Presupposti

Unison deve essere installato sia sul client che sul server; con server in questi casi si intende un computer remoto (a differenza di CVS, si veda la sezione Section 24.1.2, “CVS”).

Dato che nella seguente esposizione ci limiteremo all'impiego di unison con ssh dovrà essere installato un client ssh sul client ed un server ssh sul server.

24.3.3. Utilizzo

Il principio di base di Unison consiste nel collegare due directory (cosiddette "roots"), o meglio collegare in senso simbolico - non si tratta un collegamento online. Facciamo un esempio: ammettiamo di avere il seguente layout di directory:

Client:

/home/tux/dir1

Server:

/home/geeko/dir2

Entrambi le directory devono essere sincronizzate. Sul client, l'utente è noto come e sul server invece come geeko. Innanzitutto si dovrebbe eseguire un test per verificare il corretto funzionamento della comunicazione tra il server e il client:

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

Ecco le principali difficoltà che potrebbero sorgere a questo punto:

  • le versioni di unison utilizzate sul client e sul server non sono compatibili

  • il server non permette una connessione SSH

  • nessuno dei due percorsi indicati esiste

Se tutto funziona come deve, si tralascia l'opzione -testserver. Durante la prima sincronizzazione unison non conosce ancora la relazione tra le due directory, e fa delle proposte per quando riguarda la direzione di trasferimento dei singoli file e directory. Le frecce nella colonna Action indicano la direzione di trasferimento. '?' significa che unison non riesce ad fare una proposta riguardo alla direzione di trasferimento, dato che entrambi le versioni nel frattempo o sono state modificate o sono nuove.

Con i tasti freccia si può impostare la direzione di trasferimento per ogni singola registrazione. Una volta stabilita la direzione di trasferimento per le registrazioni visualizzati, si fa clic su “Go”.

unison (ad es. per eseguire automaticamente la sincronizzazione nei casi evidenti) può essere ricevere all'avvio dei parametri dalla riga di comando. Un elenco completo dei parametri si ottiene con unison –help.

Per ogni collegamento vengono protocollati gli eventi di sincronizzazione nella directory dell'utente ~/.unison. In questa directory si possono immettere anche i set di configurazione, per es. ~/.unison/example.prefs:

Example 24.1. Il file  /.unison/example.prefs

root=/home/foobar/dir1
root=ssh://fbar@server//homes/fbar/dir2
batch=true

Per inizializzare la sincronizzazione basta semplicemente indicare il file come argomento della riga di comando: unison  example.prefs

24.3.4. Ulteriore documentazione

La documentazione ufficiale su unison è davvero esaustiva, nel presente capitolo ci siamo limitati ad una breve introduzione. Sotto http://www.cis.upenn.edu/~bcpierce/unison/ o nel pacchetto unison troverete un manuale completo.