[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Removing conflicts of init system

[ 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.


Attachment: pgpzr6lig5Bm1.pgp
Description: PGP signature

Reply to: