supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Bernhard Graf <list-supervision@augensalat.de>
To: supervision@list.skarnet.org
Subject: using runit as init
Date: Thu, 3 Jan 2008 21:51:21 +0100	[thread overview]
Message-ID: <200801032151.21524.list-supervision@augensalat.de> (raw)

Hi list, happy new year!

I'm playing a little with runit as replacement for SysV init as roughly 
described in http://smarden.org/runit/replaceinit.html .

I adjusted the three runit stage scripts to play with an OpenSUSE 10.3 
Linux system. So far runit only supervises the (min)gettys, whereas all 
services that come with the distribution are still managed 
from /etc/init/rc that gets executed at the end of /etc/runit/1 .
The whole thing is wrapped into two RPMs (runit and 
runit-sysvinit-compat) that replace the sysvinit RPM installation.

Seems to work quite well, provided that I didn't do much more testing 
than boot, reboot, halt for now.

What worries me now is a smooth transition for running systems from init 
to runit.

In general I'd prefer to leave most service where they are, and just 
supervise certain ones, e.g. ssh, web server, all the djb s/w and 
custom daemons like FastCGI processes.

The problem is that runit makes (nearly) no effort to support a system 
with supervised and "traditional" non-supervised daemons.
Perhaps this is also the reason why runit didn't gain much attention in 
all the years, because concept and code are very well done AFAICT.

At the moment I'm struggling with these questions:

- A way to boot into a certain runlevel (say "init xxx" at boot prompt).
  runit and runit-init don't care about these, where as (Smoorenburg's)
  init passes the current runlevel in environment variable RUNLEVEL.
- Changing runlevels. There is no way to say "init 3" anymore.
  runsvchdir doesn't care about the SysV init scripts that are started
  in /etc/runit/1.
  runit-init only supports SysV init args "0" and "6" when not runing as
  process 1.
- utmp/wtmp support is missing completely, besides utmpset which should
  be named utmpclr or so.

Maybe somebody can give some advice or can share some example code or 
ideas.

In case of interest and if someone has some public space at hand I would 
upload the SRPMs.
-- 
Bernhard Graf


             reply	other threads:[~2008-01-03 20:51 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-03 20:51 Bernhard Graf [this message]
2008-01-04  0:22 ` Mike Buland
2008-01-05  0:06   ` Bernhard Graf
     [not found]   ` <12EC84FDD73F4BD8A78E7501EB19F1E2@home.internal>
2008-01-05  7:45     ` rehan khan
2008-01-05 23:17       ` Bernhard Graf
2008-01-08  7:11         ` Vincent Danen
2008-01-08 22:28           ` Bernhard Graf
2008-01-09  2:05             ` Vincent Danen
2008-01-09 23:06               ` Bernhard Graf
2008-01-09 23:34                 ` Mike Buland
2008-01-09 23:51                   ` Charlie Brady
2008-01-10  9:22                     ` Bernhard Graf
2008-01-10  9:20                   ` Bernhard Graf
2008-01-10 20:06                     ` Mike Buland
2008-01-11  7:58                       ` Bernhard Graf
2008-01-11 14:30                         ` Mike Buland
2008-01-12 10:18                           ` Bernhard Graf
2008-01-12 17:13                             ` supervising (Re: using runit as init) Charlie Brady
2008-01-12 17:32                               ` supervising mysql (Re: supervising (Re: using runit as init)) Charlie Brady
2008-01-13  4:40                             ` using runit as init Vincent Danen
2008-01-13 15:36                               ` Charlie Brady
2008-01-13 18:28                                 ` Mike Buland
2008-01-13 18:39                                   ` Charlie Brady
2008-01-13 18:49                                     ` Mike Buland
2008-01-14  3:55                                       ` Vincent Danen
2008-01-14 15:11                                         ` Charlie Brady
2008-01-14 15:21                                           ` Vincent Danen
     [not found]                                     ` <6A64B0D384404190ACB76E0A376CD148@home.internal>
2008-01-13 21:06                                       ` rehan khan
2008-01-14  3:53                                 ` Vincent Danen
     [not found]                             ` <CDFFB8AF013F4762AE02CF6A1BDCB27A@home.internal>
2008-01-13 10:35                               ` rehan khan
2008-01-14  3:50                                 ` Vincent Danen
2008-01-13 18:52                             ` Mike Buland
     [not found]                     ` <85040AD9CA634253A8FDB9F7DA6BD200@home.internal>
2008-01-10 22:08                       ` rehan khan
2008-01-11  1:28                         ` Charlie Brady
     [not found]                   ` <C1A5323F485E4A75B75ADB58B664E35E@home.internal>
2008-01-10 21:56                     ` rehan khan
2008-01-09 23:35                 ` KORN Andras
2008-01-10  8:39                   ` Bernhard Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200801032151.21524.list-supervision@augensalat.de \
    --to=list-supervision@augensalat.de \
    --cc=supervision@list.skarnet.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).