展開アップグレード中のtmuxクライアント/サーバーバージョンの不一致

展開アップグレード中のtmuxクライアント/サーバーバージョンの不一致

tmuxリモート接続の問題やXサーバーの問題(例:オープン使用文書)。

ただし、これはアップグレードされたクライアントと展開アップグレードを実行するエンドポイントを管理するサーバー間tmuxのバージョンの不一致のリスクを考慮しません。

これらのリスクを認識するには、アップグレード中にtmuxコンソールを終了して通常の端末を使用する必要があります。 tmux クライアントが同時にアップグレードされると、tmux セッションに再接続できません。逆にランニングを得るtmux attachことができますtmux ls

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

OpenSUSE 12.2から12.3にアップグレードすると、クライアント7とサーバー6のバージョンの不一致の問題が発生しました。私が考えることができる簡単な解決策は、アップグレード中にマシンがネットワークに接続されているため、以前の展開tmuxリポジトリからrpmをダウンロードして解凍することです。cpio

wget http://download.opensuse.org/distribution/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

tmuxセッションで展開アップグレードを実行するときに、可能なバージョンの不一致に関する警告が必要ですか? tmuxクライアントを古いサーバーと互換性のあるモードで実行する簡単な方法はありますか?

答え1

以前のバージョンをダウンロードしなくても、既存のtmuxに追加できます。

すべてのセッションを閉じて、できるだけ早く復元してください。これは明らかに見苦しいハッキングですが、緊急の状況では非常に便利です。

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

答え2

最初にtmuxのみをアップグレードしてから、フルアップグレードを実行できます。幸い、現在インストールされているシステムライブラリのバージョンは、新しいtmuxバージョンの依存関係を満たしています。

関連情報