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.