无法在Debian 6.0.7(32位)上重启MongoDB 2.4.3

我使用10gen存储库中的apt-getDebian VM上安装了MongoDB。 安装一段时间后,我想在configuration文件中启用身份validation,但是当我运行service mongodb restart ,它停止并拒绝重新启动。

我能够可靠地重现这一点:每次我运行apt-get purge mongodb-10gen; apt-get install mongodb-10gen apt-get purge mongodb-10gen; apt-get install mongodb-10gen服务器启动。 然而。 当我运行service mongodb start ,它说

启动数据库:mongodb 失败!

没有任何写入mongo.log文件,或任何其他日志,我可以find。

我编辑了/etc/init.d/mongodb ,从调用start-stop-daemon删除了--background参数,并得到了一个堆栈跟踪错误。 我不能发布完整的堆栈跟踪(因为我不能在terminal窗口中回滚得到它),但错误之前的最后一个函数调用是一些与获取系统语言有关的函数。

我曾经设置LANG="en_US.UTF-8"以build立一些ruby。 我unset LANG运行unset LANG ,现在我可以启动MongoDB了。

(有趣的是,我再次set LANG...并重新启动MongoDB,它仍然工作。)

它在这里看起来像堆栈跟踪?

https://jira.mongodb.org/browse/SERVER-9273

这可能是Locale设置越来越乱了 – 我已经看到一个注销/login修复,或LC_ALL或类似的直接设置做相同的。 如果你能弄清楚如何可靠地重现它,那么这将是值得报告的,我怀疑这实际上是一个提升依赖,而不是MongoDB,但仍然值得了解触发和解决问题。