Élie Gouzien

Élie Gouzien

Outils pour utiliser Unison avec deux systèmes d’exploitations sur le même ordinateur (Linux et Windows).

Principe

Utiliser Unison avec deux systèmes d’exploitations (Windows et Linux) sur le même ordinateur sans dupliquer les données n’est pas trivial. Pour réaliser cela, j’utilise l’option rootalias offerte par Unison pour que le programme trouve le bon fichier d’archive (voir la documentation). Comme Unison ne cherche les fichiers d’archive que dans un endroit précis, j’ai crée un programme pour créer des liens symboliques comme nécessaire.

Recette

  1. Créer le profile Unison sous Windows et l’utiliser au moins une fois.
  2. S’assurer que les partitions Windows seront accessibles à chaque utilisation d’Unison.
  3. Créer le profile Unison sous Linux en utilisant l'option rootalias.
  4. Placer le programme où vous voulez et régler dedans les variables UNISON_WIN et UNISON_LINUX pour qu’elles correspondent à votre configuration.
  5. Modifiez l’exécutable pour exécuter le programme avant et après chaque utilisation d’Unison. Sachant que cette configuration est personnelle, je recommande de créer un exécutable dans ~/bin/ ne faisant qu’appeler le programme et Unison.

Exemple de fichier de configuration

Fichier de configuration Windows :
# Unison preferences label = Documents root = C:\Users\Elie\Documents root = ssh://elie@serveur.fr/Documents sshargs = -C sshcmd = ssh2plink.bat logfile = C:\Users\Elie\.unison\documents.log
Fichier de configuration Linux :
# Unison preferences label = Documents root = /mnt/OS/Users/Elie/Documents root = ssh://elie@serveur.fr/Documents rootalias = //Elie_linux_host_name//mnt/OS/Users/Elie/Documents -> //Elie_Windows_host_name/C:/Users/Elie/Documents logfile = /home/elie/.unison/documents.log sshargs = -C fat = true

Fonctionnement du programme

Le programme lit les fichiers d’archives pour créer un index. Ensuite il lit les fichiers de configuration, trouve le fichier d’archive correspondant et en extrait les informations nécessaires pour créer les liens. Si le fichier d’archive existe en dur dans le dossier Unison de Linux, il est déplacé vers le dossier de Windows puis le lien est crée.

Le code est consultable ici : creer_liens_unison.py (visualisation).
Pour le télécharger : creer_liens_unison.py.
Avec commentaire en anglais : creer_liens_unison.en.py.

Le programme est distribué sous licence CeCILL.