Ubuntu 9.10 上的服务无法在启动时启动(但可以手动启动)

Ubuntu 9.10 上的服务无法在启动时启动(但可以手动启动)

重启机器后,我发现许多服务已停止自动启动。如果我在机器启动后使用它们的 init 脚本启动它们,它们会毫无问题地启动。奇怪的是,如果我在sudo init 5登录后运行,大多数服务都会启动(尽管有些服务似乎仍会拒绝手动运行它们的 init 脚本)。

自从我上次重启机器以来,我想不出有什么变化,系统日志似乎没有显示任何有用的信息。任何帮助都非常感谢!

更新:我已经通过使用chkconfig和检查文件夹中的脚本来验证/etc/rc*.d服务是否配置为启动以及脚本是否正确运行。

答案1

这是 9.10 的一个确认错误。请参阅https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/497299

我将 /etc/init/rc-sysinit.conf 的第 9 行从“start on (filesystem and net-device-up IFACE=lo)”更改为“start on filesystem and net-device-up”。对我来说,这个方法有效。

答案2

您是否已验证服务是否已针对您的默认运行级别激活?您可以使用 获取当前运行级别runlevel。您可以使用 验证已激活的运行级别chkconfig --list <servicename>

答案3

您是如何添加这些服务的?通常在 Ubuntu 中,您可以使用 update-rc.d 命令添加和/或删除 rc 服务的链接:

root@hostname:~# /usr/sbin/update-rc.d
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults [NN | SS KK]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
       update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
                -n: not really
                -f: force

我将尝试使用该命令更新有问题的初始化脚本,看看是否能解决问题。

现在,如果服务不是通过 apt-get 添加的,而是您手动安装的,那就另当别论了。哪些服务没有启动?

相关内容