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

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

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

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

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

答案1

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

答案2

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

yum install -y initscripts

(谢谢这个问题关于docker-library这让我看看这次提交

答案3

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

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

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

答案4

当我迁移到 Ubuntu 时,我错过了这些功能,因此我创建了一个库来重新创建它们的功能:功能

相关内容