我该如何纠正现在已是 upstart 作业但仍在 /etc/init.d 中有条目的项目?我有一台 ubuntu 12.04 机器,它在 boot.log 文件中抱怨如下:
由于您尝试调用的脚本已转换为 Upstart 作业,因此您也可以使用 start(8) 实用程序,例如 start S01dmesg,而不是通过 /etc/init.d 调用 init 脚本,而是使用 service(8) 实用程序,例如 service S01hostname start
我该如何修复这些看似损坏的服务?
答案1
这些服务没有损坏,它们仍然在 /etc/init.d/ 中有一个条目的原因是为了向后兼容。如果您查看 /etc/init.d/ 中的这些脚本,您将看到它们被符号链接到 /lib/init/upstart-job。/lib/init/upstart-job 打印该消息,然后处理请求(启动/停止服务)。您收到该消息的原因是因为其他东西仍在尝试调用 /etc/init.d/,而不是正确的 upstart 方式。
要解决这个问题,您需要追踪使用旧方法的内容,并修复它以使用新的 upstart 方法。