web-dev-qa-db-ja.com

SSH経由でアップグレードするリスクは何ですか?

走るとき

Sudo do-release-upgrade

ssh経由で、次のメッセージが表示されます。

このセッションはsshで実行されているようです。 
 sshのアップグレードを現在実行することは推奨されません。障害が発生した場合、
回復がより困難です。
 
続行する場合、追加のsshデーモンポート
 '9004'で開始されます。
続行しますか?

Sshを介してアップグレードする本当のリスクは何ですか?追加のsshデーモンはこれをどのように緩和しますか?

73
C. Ross

私がお勧めすることは、サーバー上で画面セッションを起動し、画面でアップグレードを実行することです。SSHセッションが(何らかの理由で)ドロップしても、アップグレードプロセスは停止しません。

Screen は、マシン上の永続的な端末を許可するプログラムです。そのため、スクリーンセッションを開始でき、マシンがそのスクリーンセッション(および履歴、実行中のプログラムなど)にある限り、誰もマシン上にいなくても動作し続けます。 early daysに設計されており、X Serverの時代の前にマルチウィンドウのテキスト端末を提供していました。 APTを使用してインストールできます。

Sudo apt-get install screen

そのため、サーバーにsshし、画面を開始し、アップグレードプロセスを開始できます。インターネット接続が失われたり、コンピューターがクラッシュしたりするため、アップグレードの失敗を心配する必要はありません。

55
Marco Ceppi

@ Marco-Ceppiのソリューションはすでにdo-release-upgradeに統合されています。

do-release-upgradeを実行すると、スクリーンセッションが自動的に開始されます。 sshセッションが切断された場合、インストールを再開できます。必要なのは、新しいsshセッションを開いて、do-release-upgradeを再度実行するだけです。以前のインストールに再接続します。

@ sepp2kが指摘する2番目のリスクは、sshdサーバーをアップグレードする必要があり、おそらく正しく再起動できない可能性があることです。したがって、アップグレードプログラムは、指定されたポートで2番目のデーモンを実行します。再開する前に、ネットワーク構成をチェックして、このポートからアクセスできることを確認する必要があります。

幸運を。

さらに、スクリーンセッションdo-release-upgrade自体はrootアカウントで実行されるため、独自のスクリーンセッションがクラッシュした場合、(何らかの理由で)Sudo screen -xを実行することで回復できます。 do-release-upgradeコマンドはそれ自体を回復しませんが、これはよくあるようです。

83
jarondl

アップグレードの一環として新しいバージョンのsshデーモンがインストールされると、デーモンが再起動されます。何らかの理由で更新プログラムがデーモンを破壊すると、再度起動できなくなり、マシンにログインする方法がなくなります。

Initシステムによって処理されず、したがってアップグレード中に再起動されない別のsshdを起動することにより、新しいバージョンが起動に失敗しても、古いバージョンのsshdが引き続き実行されることが保証されます。したがって、システムにログインして、デーモンが壊れる原因を確認できます。

16
sepp2k

私は(まだ)それを行うのに問題を抱えたことはありませんが、私はそのように半ダースほどの箱しかアップグレードしませんでした。何か問題が発生した場合、追加のSSHデーモンが訪問を回避する(または、リモートの再インストールオプションを利用する)唯一の望みかもしれません。

3
Cry Havok