/etc/cron.daily/aptがハングする原因は何ですか?


15

最近、私は毎日サーバーからメールを受け取っています。

件名

Cron <root@host> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

/etc/cron.daily/apt:
DB Update failed, database locked

/etc/cron.daily/aptパーツを実行するだけで、出力なしでそのまま残っている場合、実行tail -f /var/log/apt/*.log /var/log/syslog &してから実行しようとしました/etc/cron.daily/aptが、出力もありません

どのデータベースがロックされており、何によって、私はapt-get update正常に行うことができます。

昨日いくつかの更新を行い、再起動する必要があったため、Microsoftの修正プログラムはここでは機能しません(これは更新が関連する前から行われているため)

他に何を調べることができますか?

これは重要な場合のAmazonインスタンスです

回答:


8

この問題を本当に適切に修正したのは、apt-xapian-indexパッケージをアンインストールすることでした。他の提案された修正はどれも私の状況では何もしませんでした。

私の小さなブログ投稿から詳細を読むことができます。


2
おかげで、私は同じ経験をしました。他の回答と同じようにタイムアウトを変更しても、あきらめるまでにかかった時間以外は何も変わりませんでした。あなたのブログ投稿から少し引用したいと思います(クリックした理由):「UbuntuグラフィカルパッケージマネージャーであるSynapticはおそらくXapianを使用しているようです。UbuntuサーバーではSynapticを使用していないので、 Apt Xapianインデックスが更新されない場合は注意してください。通常のapt-toolsは引き続き完全に機能するはずです。」あなたの投稿にあるように、YMMV。Synapticを使用せずに動作します。
Vaz

4

要するに、RandomSleep=1800もっと楽しいものに変えてください。私が選んだRandomSleep=5

REF:https://lists.ubuntu.com/archives/ubuntu-users/2009-February/175474.htmlhttp://ubuntuforums.org/showthread.php?t=1071892#post_6747612


これは私の問題を解決するために何もしませんでした。これはOPと同じです。コードを見ると、RandomSleep時間は実際の時間の制限として使用され、名目上はランダムに選択されています。うーん。コードを見ると、バグがあるようです。RandomSleepは、apt-config呼び出しによって1または0にリセットされる可能性があります。(設定されていても、設定されていませんでした。)apt呼び出しは変数をストンプするか、何もしません。実際には、有用な方法でその値に作用するわけではありません。
ハック見た

数日間私の問題を解決したように思えたが、それは他の何よりも偶然だったと思う。
ブルースオルドリッジ

1

これは、複数のAPT / DPKGインスタンスが同時に実行されている場合に発生します。GUIモードでaptitudeのようなapt-getをブロックする何かを実行し、sudo /etc/cron.daily/apt最終的に入力すると同じメッセージで失敗します。


洞察力をありがとう。GUIなしでUbuntuサーバーを実行している私たちには適用されませんが、誰かにとって有用であることは間違いありません。
-Vaz

2
@Vazは実際、そうです、別の例はapt-cronまたは無人アップグレード
-Braiam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.