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

From: Avery Payne <avery.p.payne_at_gmail.com>
Date: Fri, 2 Jan 2015 12:39:56 -0800

On Fri, Jan 2, 2015 at 6:51 AM, Luke Diamand <luke_at_diamand.org> wrote:

> On 02/01/15 10:40, Avery Payne wrote:
>
>> On Thu, Jan 1, 2015 at 3:39 PM, Luke Diamand <luke_at_diamand.org> wrote:
>>
>> Caution, a shameless plug follows:
>>
>> If you are willing to share the contents of your scripts with a very
>> permissive license, I would like to see them and possibly incorporate the
>> ideas into my current project.
>>
>
> https://github.com/luked99/supervision-scripts


Thanks! I'll incorporate them as soon as possible, although a pull request
would work too. :)


> The instructions should just tell you to install the debian package
> ("runit-initscripts" ?). Is that possible? I might be able to write such a
> package if it was the right way to go.

While the scripts received their start in life from runit, they are now
meant to be framework-agnostic, supporting daemontools and s6 as well.
That is why I changed the name to supervision-scripts, although you could
make a virtual package "runit-scripts" that pulls supervision-scripts I
suppose.


>
> Sorry, I didn't record the errors at the time (I assumed it was just
> user-error on my part). runit is 2.1.2-3.

I'm on runit 2.1.1-6.2 at the moment. Perhaps a change caused the issue?
Gerrit is probably lurking around the mailing list somewhere.


> That's quite a hard problem to solve...!
>
Indeed. To make things worse, I think/guess the reason Gerrit didn't make
the package install runit-init as default, is because of the sudden
transition without any scripts in place. Too many things depending on SysV
would break, including a working console to fix things (remember, there is
no inittab to spawn a getty), and now with the transition to systemd it
would be "all kinds of messy". I believe in Jessie (aka Debian 8) there is
a sysv-core(?) package that, along with systemd-shim, would continue to
make transitioning to runit easier by adhering to the old SysV method.
Nevermind that SysV is ignorant of /sbin/init and overwrites it when it
updates, killing runit-init in the process. After becoming tired of doing
"mv init init.sysv; ln -s runit.init init" many times, I now edit the linux
kernel parameters at startup with "init=/sbin/runit-init" and make sure I
use "init 6" to shut down, allowing both systems to be present.

Perhaps Gerrit could change the existing package to do the following:

+ Address the issue of /service vs. /etc/service via "ln -s /etc/service
/service", although this may be an issue with Debian's use of the FHS,
which I think forbids adding things in /, but I'm not sure. At least with
the symlink, removal of the package would remove just /service but keep
/etc/service intact, preserving your choices. This would help resolve some
of the instruction issues on the webpage.
+ Put in a "requires" sysv-core and systemd-shim for Jessie. Trying to
accomodate systemd while Jessie transitions would be too much trouble I
think; that could be addressed in Debian 9, when SysV is scheduled to go
away completely.
+ Allow /etc/runit to be created and populated. Hunting down the
installation files in /usr/share/doc/runit/debian isn't what I was
expecting. The instructions for installation are probably meant to be
fairly cross-platform, so you can understand what is involved (and
therefore, what you need to do to recover in an emergency). They can be
kept as-is with a simple addition, "If you are running Debian, the
/etc/runit directory has been created for you already, and you can go to
step blah-blah next. Otherwise, the following steps need to be taken..."
Received on Fri Jan 02 2015 - 20:39:56 UTC

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