我看到很多关于这个问题的问题,但我的看法有些不同。
这是我收到的:
/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
我总是有至less600 MB的可用RAM。 如果我尝试手动运行sudo /etc/cron.daily/apt没有任何反应。shell挂起。
可能是什么问题呢?
编辑: Ubuntu服务器14.04
我已经看到了这个消息。 在所有情况下,“致命 – >无法叉”。 意味着没有足够的内存让apt cron作业运行。 增加此cron作业的可用内存。
当你运行sudo /etc/cron.daily/apt时,你的shell似乎挂起的原因是对random_sleep()的调用。 如果你把它注释掉了(在我的Ubuntu 14.04上,这是425行),你至less可以确认脚本在交互式运行时能够正常工作。
在Ubuntu 12和14 arm中,我有和/etc/cron.daily/apt相同的问题,但是从shell运行脚本成功。 我解决了这个感谢https://serverfault.com/a/191051/243172join这一行
ulimit -s unlimited
在剧本的开始。
没有build议的修复工作在我的情况。 我仍然收到错误消息DB Update failed, database locked每天从每日cron作业DB Update failed, database locked 。 但卸载apt-xapian-index包终于解决了这个问题。 该错误消息的来源位于/etc/cron.daily/apt脚本中,该脚本尝试运行apt-xapian-index软件包提供的update-apt-xapian-index 。
我从我的angular度写了一个关于“数据库更新失败”问题的小博客文章 。
我在一个Ubuntu 14.04 VPS上有这个完全相同的问题,而不是另一个,所以我意识到,我没有一个失败的工作交换。
事实certificate,一切都configuration正确,但我所要做的只是apt-get install cryptsetup和重新启动。
如果受到像我这样的服务器资源的约束(512 MB内存),我觉得保持apt-xapian-index是一个好主意,但没有很好的logging,但是我想像apt-cache search这样的东西会运行没有它就慢一点。
这可能至less会修复失败的叉错误,不知道在数据库错误的情况下,除了删除apt-xapian-index是否有其他select。