一旦在 nsswitch.conf 中启用 mysql 查找,1and1 VPS(“动态云服务器”)就不再启动 - 欢迎提出任何建议。
重现问题的最小设置:
- 安装 Ubuntu 12.04 / LTS 最小服务器映像
- 安装 mysql-server、libnss-mysql-bg、nscd
- 配置/etc/libnss-mysql.cfg和 /etc/libnss-mysql-root.cfg
- 设置适当的数据库表
在 nsswitch.conf 中通过 mysql 配置 nss 查找
passwd: compat mysql group: compat mysql shadow: compat mysql
现在,当我尝试重新启动服务器时,它就挂起了。没有日志(可能是因为 /var 尚未挂载),而且我看不到控制台输出(因为这是 VPS)。启动恢复映像并从 /etc/nsswitch.conf 中删除“mysql”可使系统再次启动,因此这肯定与 nsswitch/libnss-mysql-bg 有关。
有一个线在 gentoo-users 上似乎描述了类似的问题,不幸的是没有描述真正的解决方案,而且该线程相当旧(从 2006 年开始),所以我不确定这是否适用于我。
答案1
虽然我无法完全解释原因,但移动/usr
到同一个分区可以/
解决这个问题。对我来说,这看起来就像在启动期间,某个守护进程或进程试图查找某个用户或组,但失败了,因为 MySQL 客户端或库/usr
还不存在。
理论上,这不应该造成麻烦,因为所有系统用户/组都可以通过/etc/passwd
和来解析/etc/group
,但实际上这些查找似乎会破坏启动过程。