没有这样的文件或目录 /etc/init.d/functions

tec*_*man 24 init-script

我创建了一个启动脚本来启动/重启/停止一组应用程序。我/etc/init.d/functions在脚本中使用了 lib 。它在我的系统上运行良好,但不适用于我的客户;他收到错误:

没有这样的文件或目录 /etc/init.d/functions

现在我不知道我的客户使用哪个 linux 发行版。init.d/functions不同 Linux 发行版的文件是否不同?如果是这样,我怎样才能找到它?

gee*_*aur 26

它特定于您正在运行的任何发行版。Debian 和 Ubuntu 有/lib/lsb/init-functions;苏斯有/etc/rc.status它们中没有一个与其他的兼容。 事实上,有些发行版根本不使用/etc/init.d,或者以不兼容的方式使用它(Slackware 和 Arch 突然出现在我的脑海中;还有其他发行版)。


Ant*_* O. 18

CentOS 7 Docker 映像中,我必须简单地安装软件包initscripts才能安装此脚本:

yum install -y initscripts
Run Code Online (Sandbox Code Playgroud)

(感谢这个问题docker-library让我看到了这个提交


mat*_*tdm 12

那绝对是依赖于分布的。您真的需要找出发行版才能编写正确匹配的初始化脚本。

您还可以遵循 LSB(Linux 标准基础)规范,并希望所讨论的发行版也这样做。当前规范规定标准 init 脚本函数可用作/lib/lsb/init-functions请参阅此处的文档)。在 Fedora 和其他 Red Hat 相关发行版上,这是由redhat-lsb软件包提供的,它是可选的

所以,你真的必须弄清楚你的目标是什么。对不起。