tmux client / server non-concordance lors de la mise à jour de la dissortingbution

Il est devenu à la mode d'exécuter la mise à niveau de la dissortingbution dans un terminal tmux pour éviter les problèmes de connection à distance ou les problèmes avec le server X (par exemple, la documentation opensuse ).

Cependant, cela ne tient pas count du risque d'incompatibilité de version entre le client tmux déjà mis à tmux et le server qui gère le terminal sur lequel la mise à niveau de la dissortingbution est exécutée.

Pour matérialiser le risque, il faut quitter la console tmux pour le terminal normal pendant la mise à niveau. Si le client tmux est mis à jour entre-time, il ne sera pas possible de rattacher la session tmux. Au lieu de courir tmux attach ou tmux ls on obtiendrait

 # tmux ls protocol version mismatch (client 7, server 6) 

Je suis tombé sur ce client 7, incompatibilité version 6 du server lors de la mise à niveau de OpenSUSE 12.2 à 12.3. Une solution rapide, je pourrais venir était de download le tmux rpm de l'ancien référentiel de dissortingbution et le décompresser avec cpio depuis la machine avait une connection réseau dans le process de la mise à niveau.

 wget http://download.opensuse.org/dissortingbution/12.2/repo/oss/suse/i586/tmux-1.6-2.1.2.i586.rpm rpm2cpio ../tmux-1.6-2.1.2.i586.rpm > tmux-1.6.cpio cpio -i -d < tmux-1.6.cpio ./usr/bin/tmux 

Faut-il mettre un avertissement sur l'incompatibilité de version possible lors de l'exécution distro mise à niveau dans une session tmux? Existe-t-il un moyen simple de faire fonctionner le client tmux dans un mode compatible avec les anciens servers?

Vous pouvez joindre à un tmux existant sans avoir à download une ancienne version.

Arrêtez toutes vos sessions et reprenez dès que possible cependant, car c'est clairement un hack hideux; c'est juste très utile dans une pincée:

 "/proc/$(pgrep -o tmux)/exe" attach 

Vous pouvez essayer de mettre à niveau juste tmux en premier, puis effectuer la mise à jour complète. Avec un peu de chance, les versions de bibliothèques système actuellement installées satisferont les dependencies pour la nouvelle version de tmux.