
About those livesys error messages
Do you see error messages about livesys and livesys-late on the console and in the systemd journal like those in Figure 1?
Jul 10 21:38:33 essex.both.org systemd-sysv-generator[1124]: SysV service '/etc/rc.d/init.d/livesys-late' lacks a native systemd unit file, automatically generating a unit file for compatibility.
Jul 10 21:38:33 essex.both.org systemd-sysv-generator[1124]: Please update package to include a native systemd unit file.
Jul 10 21:38:33 essex.both.org systemd-sysv-generator[1124]: ! This compatibility logic is deprecated, expect removal soon.
Figure 1: Typical livesys error messages in the systemd journal.
These error message don’t occur in systems that have been installed more recently, as I noticed on some of my newer systems.
This is due to the fact that the SystemV init.d directory structure and these two files, livesys and livesys-late, don’t get automatically removed when older systems are upgraded to new release levels such as Fedora 41 to 42. These warning messages are alerting us to the fact that those files have been deprecated, but I’m not sure why the weren’t just deleted during upgrades.
To fix this, I deleted those two files from /etc/rc.d/init.d/ and these errors no longer occur. I also deleted the /etc/rc[0-6].d links and their directories, rc.d/rc[0-6].d.
New installations have only the /etc/rc.d/init.d directory with a README file that has the content shown in Figure 2.
You are looking for the traditional init scripts in /etc/rc.d/init.d,
and they are gone?
Here's an explanation on what's going on:
You are running a systemd-based OS where traditional init scripts have
been replaced by native systemd services files. Service files provide
very similar functionality to init scripts. To make use of service
files simply invoke "systemctl", which will output a list of all
currently running services (and other units). Use "systemctl
list-unit-files" to get a listing of all known unit files, including
stopped, disabled and masked ones. Use "systemctl start
foobar.service" and "systemctl stop foobar.service" to start or stop a
service, respectively. For further details, please refer to
systemctl(1).
Note that traditional init scripts continue to function on a systemd
system. An init script /etc/rc.d/init.d/foobar is implicitly mapped
into a service unit foobar.service during system initialization.
Thank you!
Further reading:
man:systemctl(1)
man:systemd(1)
https://0pointer.de/blog/projects/systemd-for-admins-3.html
https://systemd.io/INCOMPATIBILITIES
Figure 2: The README file
I use Fedora so your experience on other distros may be different. For example, Linux Mint 22.1 uses systemd but still has about 30 SystemV start scripts. That also implies that other Ubuntu-based distros will also be configured this way.
I’ve totally failed my duties as SysAdmin for not recognizing this before. And I really have no idea when this changeover actually took place in Fedora. But I did decide to figure it out today — at long last — and took the appropriate action.