web-dev-qa-db-ja.com

Ubuntu 18.10-無人アップグレード-シャットダウン--wait-for-signal

following を示すコマンドのhtopにリストされているプロセスがあります。

/ usr/bin/python3/usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal

による判断:

-信号待ち

unattended-upgradesが何であるかを調査すると、更新する必要があるものがあると思うので、サーバーを数回シャットダウンして実行しました:

 Sudo unattended-upgrade

そして、次の these ステップがありますが、システムが最新であってもそこにあります。

別のアップグレードを行う必要があるかどうかを確認するだけですか?

私はそれを心配するか、そのままにしておくべきですか?

前もって感謝します。

4
Marco Rivas

これは安全機能です。そのままにしてください。

システムが停止(シャットダウン)したときにaptが実行されると、Aptデータ(パッケージとメタデータ)が破損する可能性があります。 unattended-updates-shutdownスクリプトは、aptが終了するまでシャットダウン信号を一時的に禁止します

スクリプトは、aptの実行中に突然電源が切れたり、電源ボタンを押し続けたりすることによる破損を防ぐことはできません。これらを回避し、定期的なバックアップを維持するもう1つの理由。

スクリプトは、開発者のコ​​メントを含むPythonです。それを読んで、自分で見てください。

1
user535733

画像ベーキングプロセス中にバックグラウンドで実行されている無人アップグレードを確認しながら、最近この同じ問題に遭遇しました。基本的に、aptロックが解放されるのを待ってから、更新を続行します。

私はこれを実行していました:

while pgrep unattended; do sleep 10; done;

スクリプトを実行する前に、dpkgロックエラーでapt install/upgrade/updateを実行しようとしているときに無人アップグレードが実行されていると、奇妙な間隔でランダムに失敗します。

そこで、バックグラウンドで動作する無人アップグレードをチェックする正しい方法を求め、TJ-からIRCから本当にエレガントなソリューションが得られました! bootstrapスクリプトがビジーの間は、u-uサービスを無効にします。次のように:

systemctl mask unattended-upgrades.service
systemctl stop unattended-upgrades.service

ベイクが完了したら、再度有効にします。

systemctl unmask unattended-upgrades.service
systemctl start unattended-upgrades.service

さらに、これを実行して、プロセスを時期尚早に開始しないようにすることができます。

while systemctl is-active --quiet unattended-upgrades.service; do sleep 1; done

おそらくあなたが探していたものではありませんが、これは私にとって非常に役に立ちました。これは以下に関連している可能性があります: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1803137

3
jvasallo