Let assume a service is xyz. In systemd, the /lib/systemd/system/xyz.service file has this command:

ExecStart=/usr/bin/xyz --foo

I want to add --bar option in that command. With systemd, I can add these following lines in /etc/systemd/system/xyz.service.d/xyz.conf drop-in file:

ExecStart=/usr/bin/xyz --foo --bar

This can override the command after systemctl daemon-reload. I want to this same in SysVinit but without editing /etc/init.d/xyz file. Is it possible to add/change command options without editing that SysVinit script? If not then what is the proper way? I want to change that command option permanently.


On systems that still rely on SysVInit, you need to know what is the mechanism that your specific distribution adopts. Since you can source any file inside your daemon scripts, it's up to the distribution to decide where the default configs will be.

Quoting a post from Slackware forum:

My understanding is that this is a Debian concept that has been adopted by a few packages.

Basically, /etc/default contains some parameters that the end user or administrator is likely to change, rather than embedding the values in the actual boot scripts. In this way, changes will persist even if you upgrade the package and the boot script is replaced.

The concept is essentially the same as the .conf files under rc.d (rc.inet1.conf, rc.bluetooth.conf, etc), but they are in one centralized location away from the scripts themselves.

Means that, mostly Debian based distributions use /etc/default.

On Red Hat based distros, you will find that this kind of configuration is managed by the /etc/sysconfig directory on the most common softwares(acpid, httpd, ntpd, crond, samba).

On Arch, before the systemd switch, you used /etc/{rc.conf,rc.d/functions,rc.d/functions.d/} to customize daemons.

On Slackware, depending of the service you will have the .conf file inside /etc/rc.d/ with the same name of the daemon you want to give parameters to(rc.inet1.conf, rc.wireless.conf...), or you have to edit the daemon file itself.

tl,dr: There is no "default SysV Init" parameter file or directory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.