On Mon, 26 Jun 2017 14:53:50 +0000 "Laurent Bercot" <[email protected]> wrote:
> >a bunch of hackers behind Void Linux[2] made everything tick on top > >of runit without all that much effort. [NOTE: Nothing I say in this reply should be interpreted as being anti-s6, but instead be interpreted as pro-runit.] > > The problem with the runit model is that it is pure supervision - > it does not provide service management. You have to run all your > oneshots _before_ you can start longruns. Not necessarily true. You can easily run longruns early by creating a second service directory and a second link directory. You make the service specific directory, create run script and the supervise directory within it, and symlink like the following: ln -s /etc/sv2/gnumeric /var/svlink/gnumeric Then do the following: runsv /etc/svlink/gnumeric Assuming that /etc and /var are on the root partition, the preceding command can be done as early as you want, as long as the root partition is mounted. You can also run a one-shot very late, if willing to kludge. You simply make the one-shot a long-run whose last command is a forever long sleep. It's ugly, and it runs again if somebody does killall sleep, but it works. There's also a way to run two different instances of runsvdir, using different link directories for each. > See > https://skarnet.org/software/s6-rc/why.html and > https://fosdem.org/2017/schedule/event/s6_supervision/ (15 mn video) > to understand what goes into an init system and why runit alone is > not quite enough. > > Of course Void Linux manages to do it, but it is, pardon my French, > a hack job: AFAICT, udevd is not supervised, As I mentioned above, making it an early long-run would be trivial. > and some oneshots are > implemented via longrun processes doing nothing. This is cramming > the service management peg into the process supervision hole, True. > and > can never be perfect True. > - Void would definitely benefit from switching > to real service management. The truth of the preceding statement depends entirely on your priorities. If you prioritize simplicity over software orthodoxy, built in process ordering, and a maximally recoverable boot instance, you'll prefer runit. That's why I prefer runit. Runit sounds like it would have a lot more problems than it really does. I've used runit on Void for 2 years and have had no problems I could trace to any runit software. > But so far they haven't expressed any > desire to switch. Different priorities. Runit sacrifices several features which seem necessary but turn out not to be so necessary, for more simplicity than s6, not that s6 is incredibly complicated. I'd be proud using either one of them. SteveT Steve Litt June 2017 featured book: The Key to Everyday Excellence http://www.troubleshooters.com/key
