假设服务是xyz。在systemd中,/lib/systemd/system/xyz.service文件具有以下命令:
[Service]
ExecStart=/usr/bin/xyz --foo我想在这个命令中添加--bar选项。使用systemd,我可以在/etc/systemd/system/xyz.service.d/xyz.conf插入文件中添加以下行:
[Service]
ExecStart=
ExecStart=/usr/bin/xyz --foo --bar这可以在systemctl daemon-reload之后重写命令。我想在SysVinit中做到这一点,但不需要编辑/etc/init.d/xyz文件。可以在不编辑SysVinit脚本的情况下添加/更改命令选项吗?如果没有,那么正确的方法是什么?我想永久地改变这个命令选项。
发布于 2019-03-20 20:26:27
在仍然依赖SysVInit的系统上,您需要知道特定发行版采用的机制是什么。由于您可以在守护进程脚本中source任何文件,所以应该由发行版来决定默认信任的位置。
引用Slackware论坛的帖子:
我的理解是,这是一个Debian的概念,已经被一些软件包采用。基本上,
/etc/default包含一些最终用户或管理员可能更改的参数,而不是将值嵌入到实际的引导脚本中。这样,即使升级了包并替换了引导脚本,更改也会持续。这个概念与rc.d下的D5文件(rc.inet1.conf、rc.bluetooth.conf等)本质上是一样的,但它们位于一个远离脚本本身的集中位置。
这意味着,大多数基于Debian的发行版使用/etc/default。
在基于红帽的发行版上,您会发现这种配置是由/etc/sysconfig目录在最常见的软件(acpid、httpd、ntpd、crond、samba)上管理的。
在Arch上,在systemd开关之前,您使用/etc/{rc.conf,rc.d/functions,rc.d/functions.d/}自定义守护进程。
论Slackware,取决于服务,您将在/etc/rc.d/中拥有与您想要给(rc.inet1.conf、rc.wireless.conf.)参数相同的守护进程名称的.conf文件,或者您必须编辑守护进程文件本身。
tl,dr:没有“默认SysV Init”参数文件或目录。
https://unix.stackexchange.com/questions/507537
复制相似问题