RE: Using runit-init on debian/Jessie in place of sysvinit/systemd

From: James Powell <james4591_at_hotmail.com>
Date: Thu, 1 Jan 2015 18:24:56 -0800

Stuffing /etc/runit/1 isn't bad if you have a fallback shell prompt for error handling. The idea of 1 is to get the primary system ready for services, while stage 2 loads one shot services first and all remaining services lastly. You can load one shot services in stage 1, but technically you shouldn't.

One service that falls into a massive gray area is udev. While it is a one shot service, you should use a script to manage it independent of the init system to start, restart, and stop it as needed like sysvinit and bsdinit both do. You can even load it via the service scan directory as well. Be advised that some services that are one-shots may need a suitable execution state maintenance utility to keep the execution state in the active state. Otherwise, just script it to be loaded in the early areas of stage 2 before others.

Sent from my Windows Phone
________________________________
From: toki clover<mailto:tokiclover_at_gmail.com>
Sent: ‎1/‎1/‎2015 4:31 PM
To: supervision_at_list.skarnet.org<mailto:supervision_at_list.skarnet.org>
Subject: Fwd: Using runit-init on debian/Jessie in place of sysvinit/systemd

---------- Forwarded message ----------
From: toki clover <tokiclover_at_gmail.com>
Date: 2015-01-02 1:30 GMT+01:00
Subject: Re: Using runit-init on debian/Jessie in place of sysvinit/systemd
To: Luke Diamand <luke_at_diamand.org>


First, it's a bit crazy to use runit for init+service management entirely
because:

- It's completely crazy to supervise every service because; first, every
service
won't fit in if it's not a daemon; second supervising every daemon is
dangerous.
- Second, runit (or s6 for that matter) lack any decent service dependency,
actually both completely ignore the problem (athough s6 may change this in
in a near futur.)
- Third, do not forget the overhead of supervision (an extra instance per
daemon.)

Second, stuffing stage 1 `/etc/runit/1' is a bad idea because stage 1 is
very
sensible... any service that hangs in the foreground will hang booting
because C-ALT-DEL signal is inactive (see this page for more details
http://forums.gentoo.org/viewtopic-t-998478-start-25.html).

So, I would recommend using rc, or even better OpenRC (which is available
in Debian based OS) to take care of service dependencies management and
use service supervision for agetty (and sshd and the likes if necessary.)
(There is a complete solution with runit+OpenRC in that thread.)

That forums thread has a dangerous implementation with a stuffed stage 1
which I split to have only sysinit related services in it and then use
stage 2
to fully boot the system and brings it to a desired runlevel. This is far
more
safer because a tty will be available to fix anything broken if need be.

Stuffing stage 1 is suicidal...

Good luck.



--
Error 404: gentoo user <0123456789> was not found
Received on Fri Jan 02 2015 - 02:24:56 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:18 UTC