initctl太旧贵族检查

我正在尝试使用init-checkconf对新贵的脚本进行语法检查。 但是,当我运行它时,它会返回ERROR: version of /sbin/initctl too old

我不知道该怎么做,我试图重新安装暴发户,但没有改变。 这是从docker容器(ubuntu:14.04)中运行的,这可能与它有关。

我刚刚遇到了同样的问题。

在容器中看:

 root@puppet-master:/# cat /sbin/initctl #!/bin/sh exit 0 

我还没有完全testing,但我将下面的代码添加到我的Dockerfile中:

 # Fix upstart RUN rm -rf /sbin/initctl && ln -s /sbin/initctl.distrib /sbin/initctl 

我以为这个链接解释得很好:

当您的Docker容器启动时,只有CMD命令运行。 将在容器内运行的唯一进程是CMD命令以及它所产生的所有进程。 这就是为什么各种重要的系统服务不能自动运行 – 你必须自己运行它们。

进一步挖掘,我发现一个官方Ubuntu镜像包含一个新贵的工作版本: https : //registry.hub.docker.com/_/ubuntu-upstart/