Re: default init on non-Linux platforms
On 02/20/2014 09:02 PM, Tom H wrote:
> What features does sysvinit+openrc have that sysvinit+sysv-rc+insserv
> doesn't have?
Just to name a few:
- getting rid of the ugly LSB headers
- cgroup supports to kill processes
- rc_hotplug (a hotplugged service is one started by a dynamic dev
manager when a matching hardware device is found).
- Checks if a daemon is really started by start-stop-daemon
- Dependency loop breaking system
- Named runlevels (I already talked about that)
- Stateful system (see rc-status)
- Dependency caching system (so you wont have to wait for its
calculation at next boot)
- ... (that's from top of my head, I may have forget some...)
And of course:
- minimalistic declarative "runscripts", instead of huge init.d scripts.
A quick example that I wrote myself is available here:
You may find more examples inside the source code of openrc (in the
Debian source package for example), under init.d.misc. Interestingly, in
it you may see that simple things are very simple, but it's also
possible to make complex runscripts when needed (yes, the hard reality,
sometimes means that complex things are needed at boot time).
- monit integration in runscripts (so you can have monit to restart
crashed services, and send emails when they do). We already have patches
available for it, so it's taking a good shape.
- s6 (or equivalent) process monitoring. This is still under discussion
There's some goodies which are more Gentoo oriented, like their network
integration, but I don't think it's worth mentioning as I don't think
these features would be useful for Debian, unless someone works on
adapting them (for example, to read /etc/network/interfaces instead of
whatever Gentoo uses).
Also, we have an ALIVE UPSTREAM TEAM, and an evolving project, which is
IMO important (is there anyone still working on sysv-rc apart from a few
Debian maintainers? my understanding is: we're alone now...).
Thomas Goirand (zigo)