Removing conflicts of init system

Dmitry Bogatov KAction at debian.org
Fri Dec 21 18:54:37 GMT 2018


[ I am not subscribed. Please keep me in CC. ]

Currently, init system packages (sysvinit-core, runit-init,
systemd-sysv) are mutually exclusive -- each of them provides,
among other, /sbin/init file and as such, conflicts with rest.

This scheme has following drawbacks:

 * switching between init systems is destructive:
   once you switch, old /sbin/init is gone; should things go wrong, you
   have no easy recover via init=/sbin/old-init kernel option.

   Side note: switching from systemd is more safe, since systemd-sysv
   provides only link to /lib/systemd.

 * unneeded inter-dependencies. New system would require update of
   'Conflicts' field in rest packages.

 * After new init system is installed and old is removed, system is left
   running with old pid1 and no tools to control it, unless new system
   is providing compatibility.

I propose to replace current approach with update-alternatives(1)
approach.  By coordinated effort of present init systems (in thread), we
introduce master link /sbin/init and number of slave links:

	/sbin/halt
	/sbin/poweroff
	/sbin/reboot
	/sbin/runlevel
	/sbin/shutdown
	/usr/share/man/man8/halt.8.gz
	/usr/share/man/man8/init.8.gz
	/usr/share/man/man8/poweroff.8.gz
	/usr/share/man/man8/reboot.8.gz
	/usr/share/man/man8/runlevel.8.gz
	/usr/share/man/man8/shutdown.8.gz

After this is done, init systems will no longer conflict each other, and
all mentioned issues would be solved. I see it as clear win, but
probably I am missing something.

Opinions?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20181221/195bcd94/attachment.sig>


More information about the Pkg-systemd-maintainers mailing list