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.
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.
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: |
|
|
Server: |
|
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 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 .
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
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.