27.3. Introduction à Unison

Unison est une excellente solution pour synchroniser et transférer des arborescences de répertoires complètes. La synchronisation s'effectue dans les deux directions et peut être contrôlée au moyen d'un frontal graphique intuitif. Une version console peut également être utilisée. La synchronisation peut être automatisée afin que l'interaction avec l'utilisateur ne soit pas nécessaire, mais une certaine expérience est requise.

27.3.1. Configuration requise

Unison doit être installé sur le client et sur le serveur. Dans ce contexte, le terme serveur fait référence à un second hôte distant (contrairement à CVS, expliqué à la Section 27.1.2, « CVS »).

Dans la section suivante, Unison est utilisé avec ssh. Dans ce cas, un client SSH doit être installé sur le client et un serveur SSH doit être installé sur le serveur.

27.3.2. Utilisation d'Unison

L'approche mise en oeuvre par Unison est l'association de deux répertoires (roots) l'un avec l'autre. Cette association est symbolique. Il ne s'agit pas d'une connexion en ligne. Dans cet exemple, la disposition des répertoires est la suivante :

Client :

/home/tux/dir1

Serveur :

/home/geeko/dir2

Vous voulez synchroniser ces deux répertoires. L'utilisateur est connu comme tux sur le client et comme geeko sur le serveur. La première chose à faire est de tester si la communication client-serveur fonctionne :


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

Les problèmes les plus fréquents sont les suivants :

  • Les versions d'Unison utilisées sur le client et sur le serveur ne sont pas compatibles.

  • Le serveur n'autorise pas les connexions SSH.

  • Aucun des deux chemins d'accès indiqués n'existe.

Si tout fonctionne, omettez l'option -testserver. Au cours de la première synchronisation, Unison ne connaît pas encore la relation entre les deux répertoires et soumet des suggestions pour la direction du transfert des fichiers individuels et des répertoires. Les flèches de la colonne Action indiquent la direction du transfert. Un point d'interrogation signifie que Unison n'est pas en mesure de faire une suggestion concernant la direction du transfert car les deux versions ont changé ou sont nouvelles.

Les touches fléchées peuvent être utilisées pour définir la direction du transfert pour les entrées individuelles. Si les directions de transfert sont correctes pour toutes les entrées affichées, cliquez simplement sur Aller.

Les caractéristiques d'Unison (par exemple, s'il faut effectuer la synchronisation automatiquement dans les cas manifestes) peuvent être contrôlées au moyen de paramètres de ligne de commande spécifiés au démarrage du programme. Vous pouvez afficher la liste complète de tous les paramètres avec unison --help.

Exemple 27.1. Le fichier ~/.unison/example.prefs

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

Pour chaque paire, un journal de synchronisation est conservé dans le répertoire utilisateur ~/.unison. Il est également possible de stocker des jeux de configuration, tels que ~/.unison/example.prefs, dans ce répertoire. Pour démarrer la synchronisation, spécifiez ce fichier en tant que paramètre de ligne de commande, comme dans unison example.prefs.

27.3.3. Pour plus d'informations

La documentation officielle d'Unison est extrêmement utile. Cette section ne constitue donc qu'une simple introduction. Le manuel complet se trouve à l'adresse http://www.cis.upenn.edu/~bcpierce/unison/ et dans le paquetage de SUSE unison.