systemd-rc-local-generator, rc-local.service — Compatibility generator and service to start /etc/rc.local during boot
/usr/lib/systemd/system-generators/systemd-rc-local-generator
rc-local.service
systemd-rc-local-generator is a generator that checks whether
/etc/rc.local exists and is executable, and if it is, pulls the
rc-local.service unit into the boot process. This unit is responsible for running
this script during late boot. The script is run after network.target, but in
parallel with most other regular system services.
Note that rc-local.service runs with slightly different semantics than the
original System V version, which was executed "last" in the boot process, which is a concept that does
not translate to systemd.
Also note that rc-local.service is ordered after
network.target, which does not mean that the network is functional, see
systemd.special(7).
If the script requires a configured network connection, it may be desirable to pull in and order it after
network-online.target with a drop-in:
# /etc/systemd/system/rc-local.service.d/network.conf [Unit] Wants=network-online.target After=network-online.target
Support for /etc/rc.local is provided for compatibility with specific
System V systems only. However, it is strongly recommended to avoid using this script today, and instead
provide proper unit files with appropriate dependencies for any scripts to run during the boot process.
Note that the path to the script is set at compile time and varies between distributions.
systemd-rc-local-generator implements
systemd.generator(7).
On systems with SELinux, when creating the file, make sure to set the appropriate context, e.g. with "sudo restorecon -v /etc/rc.local".