Removing conflicts of init system

Colin Watson cjwatson at debian.org
Fri Dec 21 20:35:47 GMT 2018


On Fri, Dec 21, 2018 at 11:31:24AM -0800, Josh Triplett wrote:
> Dmitry Bogatov wrote:
> > 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.
> 
> sysvinit works similarly, with /lib/sysvinit/init. And GRUB has built-in
> support for these. See /etc/grub.d/10_linux; if you have more than one
> init system package installed, you will get separate boot options to
> boot each of the inits that /sbin/init doesn't link to.
> 
> You might consider submitting a patch to GRUB to add runit to that list,

I'm fine with taking care of this if somebody tells me which file to
look for.  (The current mapping is "sysvinit:/lib/sysvinit/init
systemd:/lib/systemd/systemd upstart:/sbin/upstart"; the value needs to
be a path that can be coinstalled with other init systems and that can
be passed as the argument to "init=" on the kernel command line.)

> or better yet making that behavior look for symlinks in /lib/inits/ or
> similar and make an entry for every link that doesn't match /sbin/init.
> (If you do so with fallbacks to the existing entries for systemd and
> sysvinit, that'll make a transition simpler, and GRUB can remove the
> fallbacks as soon as systemd and sysvinit add links in /lib/inits/.)

This feels like overengineering and really not worth it; new inits don't
come along all that often.  I think we'd spend more time on transitional
mechanics than we'd ever save.

> (Meanwhile, I don't think it's necessarily a good idea to handle
> /sbin/init and associated programs with alternatives, not least of which
> because of the complications of switching the running system's init.)

I quite agree.

-- 
Colin Watson                                       [cjwatson at debian.org]



More information about the Pkg-systemd-maintainers mailing list