rc.local not being run on Fedora 23
TL;DR: Just create /etc/rc.d/rc.local
and make it executable. That's all.
I have no idea why so many articles and blogs mentions the unnecessary and incorrect step of enabling rc-local
service unit. It won't even work as the default rc.local
file does not have WantedBy
statement on purpose, because systemd carries so called generator that checks if such file exists and it is executable it automatically generates the mentioned rc-local.service
. There is no need to enable it manually, in fact, you cannot do that until systemd boots and generates it or you run the generator manually:
# systemctl enable --now rc-local
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.