私はaws debian wheezyサーバーに接続していますが、apt-get upgrade
実行中にSSHパイプが壊れています。何も使わずにscreen
セッションを復元する方法がないようです。
新しいSSHセッションに再接続して実行すると、次のことがps aux | grep apt
わかります。apt
dpkg
まだ走っている
彼らは文字通り何時間も走っていました。システムライブラリ/バイナリを変更できるため、これらのプロセスを終了するのは安全であるとは想像できません。しかし、どうすればいいですか?キーボード入力などを待っているとどうなりますか?最初にアップデートをインストールするように求められたとき、私はこう言いましたが、追加のy
ユーザー入力が必要かどうかわかりません。彼らがやっていることを終わらせるためにapt
何時間も待つ予定です。しかし、何も起こらない場合はどうすればよいですか?dpkg
答え1
セッションを再取得できません。したがって、このプロセスと対話するために何もできません。
プロセスが実行されていないようです。私の考えでは、これはapt-get
おそらくできたと思います。ゾンビこれまで。とにかくps
またはを使用してプロセスを確認できますtop
。実行している場合は、手を離して完了したことを監視してください。アイドル状態のままであれば殺してください。
その後、簡単に実行できますapt-get upgrade
再びプロセスを終了した後にセッションが中断されたときにアップグレードしていたパッケージを完了または修正します。
答え2
SIGINT
私は彼らに(キーボード割り込み、つまりCtrl + C)シグナルを送ることがトリックを実行すると思います。
killall -SIGINT apt-get
または
killall -2 apt-get
複数回試してみることもできます。
答え3
答え4
これは今後より良い仕事をするのに役立ちます。 「画面」を使うことです。
このDebianの投稿は私が深刻な問題を解決するのを助けました:
https://wiki.debian.org/Teams/Dpkg/FAQ
sudo fuser -vki -TERM /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend
sudo dpkg --configure --pending