enable rc-local.service unit by default
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
Every other systemd-infected distribution leaves the rc-local.service unit enabled; this is probably because provisioning systems need to use it to launch first-boot tasks.
Ubuntu has been blindly following suit in every other respect and should do the same here also. It's a null op unless the file exists and is executable, so enabling it gives all the benefits for extremely negligible cost.
Example reproducable bug:
* preseed a new host and an rc.local expected to run on boot
* boot and realise rc.local didn't run
* realise you can't enable it in the preseed as systemctl is not affecting the target system
* curse Lennart (again) and run Devuan instead where things just work as they should
rc.local is enabled, and part of the initial boot target... if it exists, and is executable.
Can you please provide steps, or details of your system, on which you observe that it was not executed on boot? when present, and executable?
Note by default on ubuntu, there is no rc.local shipped. But would be used, if there is one on boot.
# cat /etc/rc.local
#!/bin/sh
echo Hello rc.local
exit 0
# sudo chmod +x /etc/rc.local
# sudo reboot
# journalctl -b -u rc-local.service
-- Logs begin at Thu 2018-05-17 13:22:46 UTC, end at Thu 2018-05-17 13:24:28 UTC. --
May 17 13:23:39 test-rclocal systemd[1]: Starting /etc/rc.local Compatibility...
May 17 13:23:39 test-rclocal rc.local[205]: Hello rc.local
May 17 13:23:39 test-rclocal systemd[1]: Started /etc/rc.local Compatibility.