47.3. Introduction à Unison

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.

47.3.1. Conditions nécessaires

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.

47.3.2. Utilisation d'Unison

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 :

/home/tux/rep1

Serveur :

/home/geeko/rep2

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 Action 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 Go.

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.

47.3.3. Informations complémentaires

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.