首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改SysVinit服务而不编辑init脚本?

如何更改SysVinit服务而不编辑init脚本?
EN

Unix & Linux用户
提问于 2019-03-20 20:08:25
回答 1查看 717关注 0票数 2

假设服务是xyz。在systemd中,/lib/systemd/system/xyz.service文件具有以下命令:

代码语言:javascript
复制
[Service]
ExecStart=/usr/bin/xyz --foo

我想在这个命令中添加--bar选项。使用systemd,我可以在/etc/systemd/system/xyz.service.d/xyz.conf插入文件中添加以下行:

代码语言:javascript
复制
[Service]
ExecStart=
ExecStart=/usr/bin/xyz --foo --bar

这可以在systemctl daemon-reload之后重写命令。我想在SysVinit中做到这一点,但不需要编辑/etc/init.d/xyz文件。可以在不编辑SysVinit脚本的情况下添加/更改命令选项吗?如果没有,那么正确的方法是什么?我想永久地改变这个命令选项。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-03-20 20:26:27

在仍然依赖SysVInit的系统上,您需要知道特定发行版采用的机制是什么。由于您可以在守护进程脚本中source任何文件,所以应该由发行版来决定默认信任的位置。

引用Slackware论坛的帖子

我的理解是,这是一个Debian的概念,已经被一些软件包采用。基本上,/etc/default包含一些最终用户或管理员可能更改的参数,而不是将值嵌入到实际的引导脚本中。这样,即使升级了包并替换了引导脚本,更改也会持续。这个概念与rc.d下的D5文件(rc.inet1.confrc.bluetooth.conf等)本质上是一样的,但它们位于一个远离脚本本身的集中位置。

这意味着,大多数基于Debian的发行版使用/etc/default

在基于红帽的发行版上,您会发现这种配置是由/etc/sysconfig目录在最常见的软件(acpidhttpdntpdcrondsamba)上管理的。

在Arch上,在systemd开关之前,您使用/etc/{rc.conf,rc.d/functions,rc.d/functions.d/}自定义守护进程。

论Slackware,取决于服务,您将在/etc/rc.d/中拥有与您想要给(rc.inet1.confrc.wireless.conf.)参数相同的守护进程名称的.conf文件,或者您必须编辑守护进程文件本身。

tl,dr:没有“默认SysV Init”参数文件或目录。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/507537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档