Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
unison [Le 24/01/2013, 21:01]
77.56.200.34 modif mountpoint et commentaires unison-gtk
unison [Le 04/10/2023, 22:08] (Version actuelle)
MarcBoyer Correction hierarchie de section
Ligne 5: Ligne 5:
 ====== Unison ====== ====== Unison ======
  
-**Unison** est un logiciel de synchronisation+**Unison** est un logiciel de synchronisation, semblable à [[:rsync]].
-À la différence de [[rsync|Rsync]] celui-ci réalise une synchronisation bidirectionnelle.+
  
 Rsync est davantage destiné à réaliser des sauvegardes de routine. Rsync est davantage destiné à réaliser des sauvegardes de routine.
-À noter que Rsync peut prendre le rôle d'​Unison et vice-versa+À noter que rsync peut prendre le rôle d'​Unison et vice-versa, mais chacun a ses avantages et ses inconvénients.
-Mais chacun a ses avantages et ses inconvénients. ​ +
  
 Unison reste l'​outil idéal pour maintenir de façon identique le contenu de plusieurs répertoires différents,​ répertoires qui peuvent évoluer différemment entre chaque établissement d'une synchronisation. Unison reste l'​outil idéal pour maintenir de façon identique le contenu de plusieurs répertoires différents,​ répertoires qui peuvent évoluer différemment entre chaque établissement d'une synchronisation.
Ligne 17: Ligne 15:
 Avec lui, vous pourrez réaliser des synchronisations entre des répertoires sous Windows, Mac et Linux. Avec lui, vous pourrez réaliser des synchronisations entre des répertoires sous Windows, Mac et Linux.
  
-Si un fichier est créé, ​s'il est supprimé ou s'il a été modifié dans l'un des deux répertoires,​ la modification sera appliquée sur l'​autre.+Si un fichier est créé, supprimé ou s'il a été modifié dans l'un des deux répertoires,​ la modification sera appliquée sur l'​autre.
  
 Il existe deux façons d'​utiliser Unison : Il existe deux façons d'​utiliser Unison :
-  * soit par le biais de l'​interface graphique avec **unison-gtk**;​+  * soit par le biais de l'​interface graphique avec **unison-gtk** ;
   * soit en console grâce à la commande **''​unison''​**.   * soit en console grâce à la commande **''​unison''​**.
- 
-Le projet Unison a atteint un stade de maturité, les développements se sont ralentis (le logiciel n'est dans un stade de //​développement actif//). Le logiciel reste supporté et utilisé par ses développeurs d'​origine. 
  
 ===== Installation ===== ===== Installation =====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://unison|unison]]. +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt>unison]]. 
-Pour l'​interface graphique, [[:​tutoriel:​comment_installer_un_paquet|installez]] également [[apt://​unison-gtk|unison-gtk]].+Pour l'​interface graphique, [[:​tutoriel:​comment_installer_un_paquet|installez]] également [[apt>unison-gtk]].
  
 <​note>​ <​note>​
-Pour que la synchronisation fonctionne, il faut que la version d'​Unison sur les deux systèmes concernés soit quasi-identique (les deux premiers nombres de la version doivent ​ être les mêmes, par exemple "​2.40.xxx"​). Si vous avez besoin d'une version antérieure d'​Unison pour des questions de compatibilité (synchronisation entre machines distantes), vous trouverez des (très) anciennes versions précompilées sur le [[http://www.seas.upenn.edu/~bcpierce/unison//​download/​unison-contributed-binaries|site d'​Unison]]. Vous pouvez également recompiler Unison sur un des deux systèmes.+Pour que la synchronisation fonctionne, il faut que la version d'​Unison sur les deux systèmes concernés soit quasi-identique (les deux premiers nombres de la version doivent ​ être les mêmes). Si vous avez besoin d'une version antérieure d'​Unison pour des questions de compatibilité (synchronisation entre machines distantes), vous trouverez des (très) anciennes versions précompilées sur le [[https://github.com/bcpierce00/​unison/​|site d'​Unison]]. Vous pouvez également recompiler Unison sur un des deux systèmes.
 </​note>​ </​note>​
 +===== Utilisation =====
  
-===== Unison en mode graphique ===== +Lancez l'​application comme indiqué [[:​tutoriel:​comment_lancer_application|ici]] ou via le [[:​terminal]] comme indiqué plus bas
- +
-Vous trouverez une icône dans **//​Applications -> accessoires -> Unison//**.+
  
-Lors du premier lancement d'​Unison,​ un **profil** est créé. La première étape est de lui indiquer les deux répertoires destinés à la synchronisation. ​+Lors du premier lancement d'​Unison,​ un **profil** est créé. La première étape est de lui indiquer les deux répertoires destinés à la synchronisation.
  
 ==== Notion de profil ==== ==== Notion de profil ====
Ligne 61: Ligne 56:
 ==== Limite de l'​interface graphique ==== ==== Limite de l'​interface graphique ====
  
-On peut noter l'​absence de traduction en français. Et la mauvaise gestion des profils pour les versions antérieures à 2.40.65. En effet, la version 2.27.67, par exemple, ne permet pas de modifier les profils une fois créés.+On peut noter l'​absence de traduction en français.
  
 <note tip> <note tip>
-Astuce : Un profil est enregistré dans votre répertoire personnel dans un dossier ''​.unison'',​ sous forme d'un fichier ''​.prf''​.+Astuce : un profil est enregistré dans votre répertoire personnel dans un dossier ''​.unison'',​ sous forme d'un fichier ''​.prf''​.
 Vous pouvez donc [[:​tutoriel:​comment_editer_un_fichier|éditer]] vos profils à votre guise. Vous pouvez donc [[:​tutoriel:​comment_editer_un_fichier|éditer]] vos profils à votre guise.
 Voir la section [[#​peaufiner_les_profils|Peaufiner les profils]]. Voir la section [[#​peaufiner_les_profils|Peaufiner les profils]].
Ligne 75: Ligne 70:
   unison   unison
  
-Cette commande lance Unison avec les données du profil par défaut (''​default.prf''​).+=> Cette commande lance Unison avec les données du profil par défaut (''​default.prf''​).
  
   unison monprofil   unison monprofil
  
-lance Unison avec les données du fichier ''​monprofil.prf''​.+=> lance Unison avec les données du fichier ''​monprofil.prf''​.
  
   unison -option   unison -option
  
-lance Unison avec les options indiquées en paramètres (détaillées plus bas. Voir [[#​les_options|les options]]).+=> lance Unison avec les options indiquées en paramètres (détaillées plus bas. Voir [[#​les_options|les options]]). 
 + 
 +  unison chemin1 chemin2 -option 
 +  
 +=> lance la synchronisation entre chemin1 et chemin2 avec les options : par exemple -times pour conserver la date originale !
  
 ==== Peaufiner les profils ==== ==== Peaufiner les profils ====
Ligne 106: Ligne 105:
   * éventuellement les sous-répertoires distants à sélectionner,​ si on ne veut pas synchroniser tout le dossier.   * éventuellement les sous-répertoires distants à sélectionner,​ si on ne veut pas synchroniser tout le dossier.
  
-  path=/seulementcerepertoire+  path=./seulementCeSousRepertoire
-  path=/etceluici+  path=./etCeluiCi
 +<note important>​Ces sous-répertoires doivent être relatifs au répertoire principal (root)</​note>​
   * enfin, les options.   * enfin, les options.
  
Ligne 123: Ligne 122:
   * Limiter la synchronisation à certains dossiers ou types de fichiers :   * Limiter la synchronisation à certains dossiers ou types de fichiers :
  
-  path=/dossierasyncrhoniser+  path=./dossierASynchroniser
-  path=/​musique/​*.mp3 +  path=./​musique/​*.mp3 
-  # Le joker est encore une "​nouvelle fonctionnalité expérimentale"​ pour les *path* (cf. http://​www.cis.upenn.edu/​~bcpierce/​unison/​download/​releases/​stable/​unison-manual.html#​paths) et ne fonctionne pas chez certains utilisateurs+  # Le joker est encore une "​nouvelle fonctionnalité expérimentale"​ pour les *path* (cf. https://​www.cis.upenn.edu/​~bcpierce/​unison/​download/​releases/​stable/​unison-manual.html#​paths) et ne fonctionne pas chez certains utilisateurs
  
   * Rajouter une liste de fichiers ou répertoires à ignorer :   * Rajouter une liste de fichiers ou répertoires à ignorer :
Ligne 174: Ligne 173:
  
   force=newer   force=newer
 +
 +  * Conserver le propriétaire et le groupe propriétaire :
 +
 +  owner = true
 +  group = true
  
 === Exemple simple de profil === === Exemple simple de profil ===
Ligne 192: Ligne 196:
 <note important>​ <note important>​
 L'​option ''​mountpoint''​ est fortement conseillée pour les médias amovibles. L'​option ''​mountpoint''​ est fortement conseillée pour les médias amovibles.
-Elle permet à unison ​de vérifier que la clé USB est bien présente et donc d'​éviter une suppression successive de fichiers en cas de démontage trop rapide du support amovible (voir [[#​synchroniser_les_peripheriques_usb]] et [[#​la_securite_avec_l_usb]]).+Elle permet à Unison ​de vérifier que la clé USB est bien présente et donc d'​éviter une suppression successive de fichiers en cas de démontage trop rapide du support amovible (voir [[#​synchroniser_les_peripheriques_usb]] et [[#​la_securite_avec_l_usb]]).
 </​note>​ </​note>​
  
 Pour la synchronisation de dossiers distants (avec SSH, par exemple), voir la section [[#​synchroniser_des_dossiers_distants]],​ ci-dessous Pour la synchronisation de dossiers distants (avec SSH, par exemple), voir la section [[#​synchroniser_des_dossiers_distants]],​ ci-dessous
- 
  
 ===== Précisions ===== ===== Précisions =====
Ligne 206: Ligne 209:
 Dans le cas où vous désirez établir une synchronisation avec une clé USB, un disque dur externe, une carte SD, etc, tout périphérique en FAT ou FAT32, vous risquez d'​être embêté. Dans le cas où vous désirez établir une synchronisation avec une clé USB, un disque dur externe, une carte SD, etc, tout périphérique en FAT ou FAT32, vous risquez d'​être embêté.
  
-En effet, ces systèmes de fichier ​ne gèrent pas les droits et les notions de propriétaires.+En effet, ces systèmes de fichiers ​ne gèrent pas les droits et les notions de propriétaires.
  
 Par défaut, Ubuntu donne des droits root temporaires lors du montage du périphérique. Par défaut, Ubuntu donne des droits root temporaires lors du montage du périphérique.
  
 Il existe plusieurs moyens d'​éviter ce problème : Il existe plusieurs moyens d'​éviter ce problème :
-  * La méthode la plus simple (elle ne touche pas aux fichiers de montage du périphérique) consiste à ajouter la ligne "​perms=0"​ dans le fichier du profil qui se trouve dans le dossier ~/.unison/ (fichier en extension .prf). Ainsi, ​unison ​ne se préoccupe pas des permissions lors de la synchronisation. Voir [[#​les_options|les options]]. Si elle ne fonctionne pas, où si elle ne vous conviens ​pas (par exemple si vous avez plusieurs profils et que vous ne souhaitez pas modifier les profils ​uns à uns), les modifications ci dessous devraient fonctionner.+  * La méthode la plus simple (elle ne touche pas aux fichiers de montage du périphérique) consiste à ajouter la ligne "​perms=0"​ dans le fichier du profil qui se trouve dans le dossier ~/.unison/ (fichier en extension .prf). Ainsi, ​Unison ​ne se préoccupe pas des permissions lors de la synchronisation. Voir [[#​les_options|les options]]. Si elle ne fonctionne pas, où si elle ne vous convient ​pas (par exemple si vous avez plusieurs profils et que vous ne souhaitez pas modifier les profils ​un à un), les modifications ci-dessous devraient fonctionner.
  
   * reformater le périphérique USB (en ext2, ext3 ou ext4 par exemple). Mais il ne sera pas reconnaissable par les autres systèmes d'​exploitation,​ ni par vos appareils embarqués (appareil photo, PDA, etc.).   * reformater le périphérique USB (en ext2, ext3 ou ext4 par exemple). Mais il ne sera pas reconnaissable par les autres systèmes d'​exploitation,​ ni par vos appareils embarqués (appareil photo, PDA, etc.).
Ligne 250: Ligne 253:
  
 <​note>​ <​note>​
-Une variante est possible avec le label de votre periphérique ​USBb.+Une variante est possible avec le label de votre periphérique ​USB.
 Dans fstab, à la place de ''​UUID=uuid_du_peripherique'',​ écrivez ''​LABEL=nomdulabel''​. Dans fstab, à la place de ''​UUID=uuid_du_peripherique'',​ écrivez ''​LABEL=nomdulabel''​.
 </​note>​ </​note>​
Ligne 310: Ligne 313:
  
   root=ssh://​login@ma.machine//​chemin/​absolu/​vers/​dossier/​   root=ssh://​login@ma.machine//​chemin/​absolu/​vers/​dossier/​
 +  ​
 +<note tip>Dans le cas où le port de communication avec ssh n'est pas le port 22 par défaut, il convient de l'​indiquer à Unison.
 +Cela se fait à travers le paramètre sshargs à ajouter au profil. Exemple :
 +  sshargs = -p 12345 -C
 +  ​
 + ​L'​argument -C permet de compresser les données échangées pour faciliter l'​échange,​ cet argument fiabilise le transfert mais accroît le temps de traitement (calcul de la compression).
 + </​note>​
  
 === Un autre exemple de profil === === Un autre exemple de profil ===
Ligne 357: Ligne 367:
 </​code>​ </​code>​
  
-===Monter un partage au démarrage===+=== Monter un partage au démarrage ===
  
 Editer /etc/fstab afin de monter automatiquement un dossier partagé (ex: samba, Nfs) au démarrage :<​code>​sudo gedit /​etc/​fstab</​code>​ Editer /etc/fstab afin de monter automatiquement un dossier partagé (ex: samba, Nfs) au démarrage :<​code>​sudo gedit /​etc/​fstab</​code>​
Ligne 387: Ligne 397:
 </​note>​ </​note>​
  
 +=== Que faire lorsque l'on a des versions différentes d'​Unison ===
 +On peut avoir deux machines avec des versions d'​Unison installées différentes (après un upgrade d'une machine par exemple). Disons la 2.48.4 sur la machine spirou, et la 2.53.2 sur la machine fantasio. On peut alors installer la 2.48.4 sur fantasio, éventuellement dans le compte utilisateur (en allant chercher [[https://​github.com/​bcpierce00/​unison/​releases|ici]] la version que vous voulez, sous forme de source ou déjà compilée pour Ubuntu. Une fois qu'on a mis par exemple l'​exécutable ''​unison-2.48.4-linux-i386-text-static''​ dans le répertoire ''/​home/​moi/​bin''​ de la machine fantasio, on peut lancer la commande depuis spirou en donnant explicitement le chemin vers l'​exécutable sur fantasio.
 +<​code>​
 +unison chemin1 chemin2 -servercmd /​home/​moi/​bin/​unison-2.48.4-linux-i386-text-static ​
 +</​code>​
 +ou dans le fichier de profil sur spirou, on met la ligne
 +<​code>​
 +servercmd = /​home/​moi/​bin/​unison-2.48.4-linux-i386-text-static
 +</​code>​
 =====Automatiser la synchronisation===== =====Automatiser la synchronisation=====
  
-Utiliser [[gnome-schedule]] (ou éditer ​le fichier [[cron|/​etc/​crontab]]), remplir les champs, et dans commande ajouter : <​code>/​usr/​bin/​unison -batch NOMDUPROFIL</​code>​+Éditez ​le fichier [[cron|/​etc/​crontab]],​ remplir les champs, et dans commande ajouter : <​code>/​usr/​bin/​unison -batch NOMDUPROFIL</​code>​
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * **(en)** [[http://www.cis.upenn.edu/~bcpierce/unison/download/​releases/​stable/​unison-manual.html|Aide officielle]];​ +  * **(en)** [[https://github.com/bcpierce00/unison/wiki#​documentation-and-user-information|Aide officielle]];​ 
-  * **(fr)** [[http://wiki.mandriva.com/fr/Unison|Documentation]].+  * **(fr)** [[https://www-fourier.ujf-grenoble.fr/informatique/​doku.php?​id=unison|Documentation]].
   * **(fr)** [[http://​www.opendoc.net/​solutions/​comment-synchroniser-fichiers-configuration-avec-unison|Article Opendoc]].   * **(fr)** [[http://​www.opendoc.net/​solutions/​comment-synchroniser-fichiers-configuration-avec-unison|Article Opendoc]].
 +  * **(fr)** [[wpfr>​Unison_(logiciel)|Article Wikipédia]].
 +  * **(fr)** [[http://​www.robertcudmore.org/​blog/?​p=168|Tutoriel Unison et Raspberry pi]]
 +  * **(fr)** [[https://​linux.developpez.com/​unison/​|Tutoriel Unison par developpez.com]]
  
 ---- ----
  
 //​Contributeurs : [[utilisateurs:​Simtris]],​ [[utilisateurs:​v0n]].//​ //​Contributeurs : [[utilisateurs:​Simtris]],​ [[utilisateurs:​v0n]].//​
  • unison.1359057693.txt.gz
  • Dernière modification: Le 24/01/2013, 21:01
  • par 77.56.200.34