Unison

Fiche logiciel validé
  • Création ou MAJ importante : 07/02/12
  • Correction mineure : 12/03/13
Mots-clés
Pour aller plus loin

Unison : synchronisation de répertoires entre deux machines

Description
Fonctionnalités générales

Unison est un logiciel permettant de synchroniser le contenu de 2 répertoires qui peuvent être sur la même machine ou sur 2 machines différentes. Unison analyse les différences entre les 2 dépots (local et distant) de fichiers et propage les différences de part et d'autre des 2 réplicats de manière à en obtenir une copie conforme des deux cotés.
Unison se base sur les dates et les tailles de fichiers pour examiner leur différences et estimer lesquels sont les plus récents.
Après analyse des différences des contenus des répertoires, Unison propose pour chaque fichier le sens de la propagation à l'utilisateur. En cas de doute l'utilisateur a le choix final de décider du sens de la synchronisation.

Autres fonctionnalités
  • Unison peut fonctionner avec une interface graphique écrite en GTK ou en mode ligne de commandes

  • Unison fonctionne avec des fichiers de configuration (.prf) qui décrivent les chemins (local et distant) des 2 répertoires à synchroniser

exemple : mon-beau-projet.prf
root = /Users/libes/Documents/mon-beau-projet/
root = ssh://libes [at] ssh [dot] labo [dot] univ-truc [dot] fr:22//home//libes/mon-beau-projet
ignore = Name {.DS*}

Interopérabilité

Unison fonctionne avec rsync, ssh et GTK (si on utilise l'interface graphique). Ces paquetages sont nativement présents dans les systèmes Linux, mais il faut les télécharger et les installer pour les systèmes Windows.

Pour faire fonctionner Unison avec un client SSH sous Windows il faut télécharger le programme plink.exe de la suite putty http://www.chiark.greenend.org.uk/~sgtatham/putty/... ou bien la partie ssh de la suite Cygwin

Contexte d'utilisation dans mon laboratoire/service

Plusieurs chercheurs utilisent Unison pour synchroniser des répertoires entre leur PC du laboratoire et un autre PC portable personnel ou encore leur PC domestique. Depuis l'extérieur du labo Unison passe par une passerelle SSH qui permet de chiffrer la phase d'authentification.

Unison est un outil extrêmement pratique qui favorise le télétravail. On peut en effet travailler depuis plusieurs PC différents sur un même ensemble de fichiers et retrouver des contenus de répertoires identiques où que l'on se trouve.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • L'installation de Unison sous Windows est pénible :
    unison a besoin d'un client SSH sur la partie cliente... Sur les systèmes Windows il n'y a pas de client SSH nativement. Il faut donc installer un client SSH ... les meilleures solutions étant soit putty , soit une partie de Cygwin.. Dans les 2 cas il faut faire une gymnastique d'administration pour rendre ce client accessible via un PATH connu.

  • Unison nécessite le runtime Gtk2 disponible qui lui non plus n'est pas disponible nativement sous Windows.. il faut télécharger et installer GTK http://downloads.sourceforge.net/gimp-win/gtk%2B-2...

  • unison ne fonctionne qu'à niveau de version strictement identique entre le client et le serveur. Il faut donc indiquer clairement aux utilisateurs la version de unison à utiliser sur leur poste client..

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
  • Linux Debian et ses dérivés à ma connaissance mais sûrement d'autres distributions
  • le dépot de MacOSX
Plates-formes

Unison fonctionne sur Unix, Solaris, Windows et MacOS X

Logiciels connexes

rsync, ssh, putty, GTK

Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Environnement utilisateur

Commentaires

couplage serveur de sauvegarde et synchronisation

une manip intéressante serait de coupler rdiff-backup pour la partie sauvegarde et unison pour la synchronisation. Dans ce cas, il faufrait définir la configuration de l'exclusion des chemins gérant le version dans rdiff-backup.