sysvinit 服务未在启动时启动,upstart 服务正在启动

sysvinit 服务未在启动时启动,upstart 服务正在启动

我的 Ubuntu 服务器安装有问题 :/ 服务器运行多个服务,例如 postfix、dovecot(作为邮件服务器)、apache2、mysqld、elasticsearch。通常在启动时,这些服务应该自动启动,但不幸的是,从 12.04 升级到 Ubuntu 14.04.1 LTS 后,它们不再启动。

我对 ubuntu 启动和服务了解不多,所以我不知道该怎么做。我检查了启动后的运行级别是否正确(是的,N 2),但我所做的就这些了。

我发现,似乎只有 upstart 服务(在 /etc/init/ 中有配置)会自动启动(例如 mysqld、dovecot)。使用 sysvinit(/etc/init.d)的服务无法启动(例如 postfix、apache2)。

我可以通过 ssh(upstart 服务)连接手动启动服务而不会出现任何问题,所以我不认为这是服务本身的问题。

希望可以有人帮帮我 :(

提前致谢。

编辑:

日志文件:

dmesg:http://pastebin.com/uwrwhVmT

系统日志:http://pastebin.com/8fczRUE1

boot.log:空

字距:pastebin.com/TA9GiG95

编辑2:

我阅读并进一步研究了它,似乎所有可以通过 upstart 启动的服务都已启动,而使用 sysvinit 的服务则无法再启动。

rc-sysvinit.conf 脚本:pastebin.com/77sMbBy0

编辑3:

为了测试,我也将 apache2 移到了 rcS,它会自动启动。我这样做是因为我在 中看到了以下行rc-sysinit.conf

[ -n "${FROM_SINGLE_USER_MODE}" ] || /etc/init.d/rcS

我对照 14.04 源代码检查了整个文件,但没有发现任何差异。这令人沮丧,我无法找到解决方案将所有必需的服务移至 rcS?!:)

编辑4:

现在我从#ubuntu-server irc 中的 rbasak 获得了提示,并按照启动的步骤进行操作。

/etc/init/rc-sysinit.conf成功调用(使用记录器跟踪)/etc/init.d/rcS并执行/etc/init.d/rc S(我使用记录器跟踪的运行级别S)。此后,/etc/init/rc-sysinit.conf执行telinit "${DEFAULT_RUNLEVEL}"(DEFAULT_RUNLEVEL 为 2,使用记录器跟踪),但/etc/init.d/rc此后未执行(它应该运行,并且记录器语句应该记录运行级别2)。有什么建议吗?

答案1

经过多次尝试修复问题或找出问题所在后,我现在已经使用实际的 Ubuntu 14.04 映像重新安装,现在一切正常。不幸的是,我无法说出问题是什么 :(

相关内容