假设服务是xyz
. 在 systemd 中,该/lib/systemd/system/xyz.service
文件具有以下命令:
[Service]
ExecStart=/usr/bin/xyz --foo
我想--bar
在该命令中添加选项。/etc/systemd/system/xyz.service.d/xyz.conf
使用 systemd,我可以在插入文件中添加以下几行:
[Service]
ExecStart=
ExecStart=/usr/bin/xyz --foo --bar
这可以覆盖之后的命令systemctl daemon-reload
。我想在 SysVinit 中这样做,但不编辑/etc/init.d/xyz
文件。是否可以在不编辑该 SysVinit 脚本的情况下添加/更改命令选项?如果没有,那么正确的方法是什么?我想永久更改该命令选项。
在仍然依赖 SysVInit 的系统上,您需要知道您的特定发行版采用的机制是什么。由于您可以
source
在守护程序脚本中添加任何文件,因此由发行版决定默认配置的位置。引用 Slackware 论坛的帖子:
这意味着,大多数基于 Debian 的发行版使用
/etc/default
.在基于Red Hat的发行版上,您会发现这种配置是由
/etc/sysconfig
最常见软件(acpid
、httpd
、ntpd
、crond
、samba
)上的目录管理的。在 Arch 上,在 systemd 切换之前,您曾经
/etc/{rc.conf,rc.d/functions,rc.d/functions.d/}
自定义守护进程。在 Slackware 上,根据服务的不同,您将拥有与要为其提供参数的守护程序同名的
.conf
文件( ... ),或者您必须编辑守护程序文件本身。/etc/rc.d/
rc.inet1.conf
rc.wireless.conf
tl,dr:没有“默认 SysV Init”参数文件或目录。