47.3. Introduzione ad unison

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.

47.3.1. 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 47.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.

47.3.2. Utilizzo di Unison

Il principio di base di Unison consiste nel collegare due directory (cosiddetteroots), 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

Volete sincronizzare entrambi le directory. Sul client, l'utente è noto come tux 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/tux/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 il rapporto che intercorre tra le due directory, e fa delle proposte per quando riguarda la direzione di trasferimento dei singoli file e directory. Le frecce nella colonna Azione indicano la direzione di trasferimento. Il punto interrogativo '?' indica che unison non riesce a fare una proposta riguardo alla direzione di trasferimento, dato che entrambi le versioni nel frattempo 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 visualizzate, fate clic semplicemente su Vai.

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

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

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

Ogni processo di sincronizzazione viene protocollato nella directory dell'utente ~/.unison. In questa directory si possono immettere anche set di configurazione, per es. ~/.unison/example.prefs. Per inizializzare la sincronizzazione basta semplicemente indicare il file come argomento della riga di comando: unison   example.prefs

47.3.3. 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 SUSE unison troverete un manuale completo.