重启机器后,我发现许多服务已停止自动启动。如果我在机器启动后使用它们的 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 添加的,而是您手动安装的,那就另当别论了。哪些服务没有启动?