web-dev-qa-db-ja.com

APT致命的->フォークできませんでした

私はこれについて多くの質問を見ましたが、私のものは少し異なっているようです。

ここに私が受け取るものがあります:

/etc/cron.weekly/apt-xapian-index:
FATAL -> Failed to fork.
run-parts: /etc/cron.weekly/apt-xapian-index exited with return code 100

そして

/etc/cron.daily/apt:
FATAL -> Failed to fork.

そして

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

私は常に600 MB以上の空きRAMを持っています。手動で実行しようとすると、Sudo /etc/cron.daily/apt何も起こりません。シェルがハングします。

何が問題でしょうか?

編集: Ubuntu Server 14.04

10

私はこのメッセージをたくさん見ました。すべてのケースで、「致命的->フォークに失敗しました。」つまり、apt cronジョブを実行するための十分なメモリが残っていませんでした。このcronジョブの空きメモリを増やします。

13
Nils Toedtmann

私の状況では、提案された修正は機能しませんでした。それでも、毎日のcronジョブからエラーメッセージ_DB Update failed, database locked_が毎日表示されます。しかしapt-xapian-indexパッケージをアンインストールすると、問題がようやく解決しました。このエラーメッセージのソースは、_/etc/cron.daily/apt_スクリプトがapt-xapian-indexパッケージによって提供される_update-apt-xapian-index_を実行しようとします。

私の観点から、「DBの更新に失敗しました」の問題について 小さなブログ投稿 を書きました。

2
Tero Turtiainen

あるUbuntu 14.04 VPSでまったく同じ問題が発生しましたが、別のUbuntuでは発生しなかったため、失敗しているVPSには有効なスワップがないことに気付きました。

すべてが正しく設定されていることがわかりましたが、私がしなければならなかったのはapt-get install cryptsetupと再起動だけでした。

私のようなサーバーリソース(512 MB RAM)に制約されている場合は、apt-xapian-indexを維持することをお勧めします。十分に文書化されていませんが、apt-cache searchのようなものはそれなしでは遅く実行されます。

これは少なくとも、fork to forkエラーを修正する可能性があります。DBエラーの場合にapt-xapian-indexを削除する方法がないかどうかは不明です。

1
4oo4

Ubuntu 12および14アームの/etc/cron.daily/aptでも同じ問題が発生しましたが、シェルからのスクリプトの実行は成功しました。 https://serverfault.com/a/191051/243172 のおかげで、次の行を追加して解決しました

ulimit -s unlimited

スクリプトの冒頭。

1
csanchez

_Sudo /etc/cron.daily/apt_を実行したときにシェルがハングしているように見える理由は、random_sleep()の呼び出しです。コメントアウトすると(私のUbuntu 14.04では425行目でした)、対話的に実行したときにスクリプトが機能することを少なくとも確認できます。

1
Erik Wognsen