サーバーのアップグレード中にSSH接続が失われました-プロセスに再接続する方法は?


32

そのため、11.04から11.10へのUbuntu Serverのアップグレードを実行していました。

バックグラウンドでそれを忘れてしまい、SSHクライアントがタイムアウトして切断されました(Windowsのパテ、図を参照)。私の端末で最後にしたことは、古い構成などを保持することに関する質問でした。

サーバーにログインし直したとき、aptitudeファイルは別のプロセスによってロックされていたため、このアップグレードプロセスは入力を待っている状態にあると想定しています。

このプロセスと対話してアップグレードを続行するにはどうすればよいですか?可能なら。

ありがとう


回答:


36

プロセスは実際には、rootユーザーとして画面またはbyobuセッションで実行されます。ポート22のパテまたはフェイルセーフ1022でサーバーに再接続し、rootアカウントにsudo su-またはsu-して、byobuまたはscreen -rで画面を再開し、残った場所から再開します。

ああ、はい、私は難しい方法を見つけました;-)


1
わあ、ありがとう!私は実際にbyobuで11.10から12.04へのリリースアップグレードを実行していましたが、byobuがアップグレードされたときに終了しましたが、ルート画面セッションに再接続してアップグレードの完了を確認できました!アップグレードを強制的に強制終了しようとしましたが、幸いなことにこの応答を時間内に読みました。
イブラヒム

3
停止したインストールでは、画面がすでに接続されていると言われたので、画面を強制的に切り離し、再接続できました。コマンドはscreen -Dです。ここからの情報:kb.iu.edu/data/ahrm.html
David

1
使用screen -r <id>も機能します。IDを数文字入力するだけで機能します。
ダニエル

1
これはscreenインストールされていないということなので、私にはうまくいきません。
starbeamrainbowlabs

1
より新しいUbuntuの使用sudo screen -D -rsudo su -(ルートでない場合)。
bshea

34

できません。アップグレードプロセスを見つける

lsof /var/lib/dpkg/lock

それを殺し、中断されたアップグレードを修正します

dpkg --configure --pending

アップグレードを再開します。


3
このプロセスは安全do-release-upgradeですか?
スティーブンメルローズ

1
@StephenMelroseそれは決して安全ではありません。しかし、それは合理的に安全であり、残りの唯一のオプションです。
テディ14年

2
パテセッションタイムアウトによって中断されたapt-getアップグレードを修正する方法に関する多くの人の間のベストアンサー...正常にテストされました、ありがとう!
古城

and restart the upgradeステップは、(私が中にsshセッションを失った私の場合には動作しないdo-release-upgrade- > 16.04 14.04)。私は最後のステップとして、代わりにやっていることは、リリースアップグレードが終了しsudo apt autoremove、その後sudo shutdown -r now
ルスランステルマチェンコ

ここでより完全な回答を見つけましたが、アップグレードを中断したところから自動的に継続しました。 askubuntu.com/questions/219545/...
lacostenycoder

4

cryopidこの質問で発見)は、現在の「プロセスのツリーではなく、1つのプロセス」がこのインスタンスの問題でない限り、役立つかもしれません。

プロセスが不意に強制終了されたため、ファイルがロックされている可能性があり、それ自体をクリーンアップする機会がなかったため、aptitudeが実際に実行中であることを確認します。lsof /var/lib/dpkg/lockTeddyの答えで提案されているように使用して確認してください。これにより、pidにcryopidを試してみるように指示されます。

将来的には、可能な限り画面を実行することをお勧めします。私はどこかへのSSHで最初に実行するものであるスクリーン(または、bit風、いくつかの有用な振る舞いを定義するスクリーンのラッパー)の習慣を作り、問題があれば再接続できます。自動的に開始または再アタッチするように設定できますが、どこでもそれを行うことはできませんでした- 試してみたい場合は、オンラインの例(この例)がオンラインにあります


1
ちなみに、私はこれを先取りし、byobuを使用してsshを介してdo-release-upgradeを実行しましたが、byobuをアップグレードするとセッションが強制終了しました。画面を直接使用するとこれを防ぐことができたのだろうか。しかし、この質問に対する他の答えは私の状況に答えました、インストーラーは賢く、とにかく独自のスクリーンセッションを実行するようです:D
Ibrahim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.