Removing conflicts of init system

Dmitry Bogatov KAction at
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:


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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <>

More information about the Debian-init-diversity mailing list