PVEのバージョンアップ(8—>9)を行いたいのだが、コンソール(キーボード・ディスプレイ)をホストにつけるのは大変(PC用ディスプレイが43インチ一台)なのでリモートで行いたいのだがsshでのアップデートは非推奨である。公式ではこのような場合tmuxやscreenを使うようにと記載がある。
tmuxはどこで起動したらいいのか問題
ちゃんとチャピれば答えが見つかるが…
作業先のサーバでtmuxを起動すべし。まぁ、当然といえば当然か…
今回の場合はPVE上でtmuxコマンドを起動する。
とりあえず、デタッチ・アタッチだけ
tmuxは多機能であるが今回必要な機能は、セッションの維持だけなのでデタッチ・アタッチができればよい。
デタッチ
デタッチまでの流れ
踏み台サーバにログイン → 対象サーバにログイン → tmux コマンド実行 → 作業開始 → デタッチ/ssh切断など
tmuxコマンドを実行すると、普段利用しているシェルが起動する。そのまま作業を開始する。
デタッチするとtmuxを実行したシェルに復帰する。
接続元との接続が切れた場合などもtmuxセッションは残っている。
デタッチコマンド
CTRL+b d
アタッチまでの流れ
踏み台サーバにログイン → 対象サーバにログイン → tmux a コマンド実行
(なんらかの原因でsshが切断された場合などで)中断した作業を開始するには、サーバにログインし tmux ls コマンドでセッションの確認を行った後、そのセッションを指定して tmux を起動する。セッションが一つであることが明確であれば、tmux a コマンドで引き続き作業ができる。
セッション確認コマンド
tmuxコマンドを実行したサーバ上で以下のコマンドを実行する。
% tmux ls
以下実行例
# tmux ls
0: 1 windows (created Wed May 6 18:11:22 2026)
アッタチコマンド
CTRL+b a
注意事項
tmux セッション上で一時停止/バックグランドで起動したジョブがある
かつ
デタッチせずにセッションを抜ける
と
ジョブが消えるか親が1になる(tmuxセッションを抜けるときにジョブがあるよと教えてくれる)。
コメント