Unison convient particulièrement à la synchronsation et au transfert d'arborescence de répertoires complète. La synchronisation est bidirectionnelle et peut être contrôlée par une interface graphique intuitive. Bien entendu, vous pouvez aussi utiliser la version console. Il est également possible d'automatiser la synchronisation. Il n'y aura alors aucune interaction avec l'utilisateur mais ceci est à réserver aux utilisateurs expérimentés.
Unison doit être installé tant sur le client que sur le serveur. Dans ce contexte, le terme serveur désigne un deuxième ordinateur distant (contrairement à CVS, comme décrit dans la Section 47.1.2, « CVS »).
Dans la section suivante, nous nous limiterons à l'utilisation d'Unison avec ssh. Dans ce cas, un client SSH doit être installé sur le client et un serveur SSH sur le serveur.
Le principe de base d'Unison est l'association de deux répertoires (roots). Cette association est de caractère symbolique, il ne s'agit pas d'une connexion en ligne. Supposons que le répertoire soit conçu de la manière suivante :
|
Client : |
|
|
Serveur : |
|
Ces deux répertoires doivent être synchronisés. Sur le client, l'utilisateur est
connu en tant que tux, tandis que sur le serveur il est connu en
tant que geeko. On veut d'abord
tester si la communication entre le client et le serveur fonctionne :
unison -testserver /home/tux/rep1 ssh://geeko@server//homes/geeko/rep2
Voici les problèmes les plus fréquents :
les versions d'Unison utilisées sur le client et le serveur ne sont pas compatibles
le serveur ne permet aucune connexion SSH
aucun des deux chemins d'accès indiqués n'existe
Si tout se déroule bien, n'utilisez pas l'option -testserver. Lors de la synchronisation initiale, Unison ne connaît pas encore la relation entre les deux répertoires et fait donc des propositions pour le sens de transfert des différents fichiers et répertoires. Les flèches de la colonne indiquent le sens de transfert. Un point d'interrogation signifie qu'Unison ne peut pas faire de proposition concernant le sens du transfert parce que les deux versions ont été modifiées entre-temps ou sont nouvelles.
Le sens de transfert de chaque enregistrement peut être réglé avec les touches de direction (flèches). Si les sens de transfert de tous les enregistrements indiqués sont corrects, cliquez sur .
Le comportement d'Unison (par exemple, si la synchronisation doit s'effectuer
automatiquement dans les cas sans équivoque) peut être contrôlé par des
paramètres spécifiés en ligne de commande au démarrage du programme. Vous
trouverez une liste complète de tous les paramètres dans
unison --help.
Exemple 47.1. Le fichier ~/.unison/example.prefs
root=/home/tux/dir1 root=ssh://wilber@server//homes/wilber/dir2 batch=true
Pour chaque liaison, la synchronisation est consignée dans le répertoire
utilisateur ~/.unison. Dans ce répertoire, il est
possible d'enregistrer des jeux de configuration tels que
~/.unison/example.prefs.
Pour lancer la synchronisation, il suffit tout simplement d'indiquer le
fichier comme paramètre en ligne de commande comme dans :
unison example.prefs.
La documentation officielle d'Unison est très utile, cette section ne fournira donc
qu'une brève introduction. Le manuel complet est disponible à l'adresse
http://www.cis.upenn.edu/~bcpierce/unison/ et dans le
paquetage unison de SUSE.