Subject: On the proposal to augment NetBSD startup (/etc/rc*/*/*...) system
To: None <tech-userlevel@netbsd.org>
From: Lou Glassy <glassy@caesar.cs.montana.edu>
List: tech-userlevel
Date: 12/04/1999 01:28:28
Dear all,

A small bucket of thoughts & observations:

[1] I think this is an interesting and useful discussion 
    to have (runlevels, init scripts, etc).

[2] It doesn't look to me like there is anything close to 
    a consensus on this question or issue, at least not if 
    we're talking about fundamentally changing the BSDish
    startup behavior NetBSD now exhibits, in a stock default
    installed system.  Nor do I expect a consensus to form 
    that makes anything hugely unlike rc[.conf|.local] the 
    default.

[3] Some people like SysV-ish init scripts because [insert reasons here].  
    Some people like BSDish rc[.local|.conf] startup because 
    [insert reasons here].  (see [2] above.)

[4] Random idea:  How about if proponents of SysV-ish startup script
    structures just build this as a package, put it in the package
    tree?  That is, does any of this alternative startup stuff have
    to go in the primary distribution?  If someone wants to use a SysV-like
    startup system, she installs the SysV-ish startup
    package (or one of several, whichever flavor of init system best
    suits her needs) and is a happy camper.  But... 
    please leave the existing rc+conf stuff alone.

[5] Random idea: (my i'm on a roll.)  I use SysV-ish systems and 
    NetBSD at work, every day.  The start/stop thing in 
    /etc/init.d/foo start [etc] is nice, but the simplicity of 
    the BSDish rc.conf setup that NetBSD is even nicer.  I am 
    starting to run out of brain cells, and NetBSD's simpler 
    structure makes the vast majority of what I want to do, consume
    less of those precious brain cells, because I have to maintain
    less brain-state about where to look to see what's going on.

    But, like I said, start+stop is nice.  How about making a script,
    or program, or package, that has some wondrous kickstarter in it, 
    that would let me just start and stop things...?  This would exist
    completely independent of the existing rc+conf arrangement; I'm 
    not wedded to any particular name for this thingie; say ya call
    it 'service' ... I'm thinking of something like

        service hup inetd 

    to send a sighup to inetd, or 

        service stop mountd ; service start mountd

    to do a stop-start of mountd.  You get the idea.  The syntax
    isn't that critical to me.  Picture other options, 
    like "restart", "startlogging", whatever bakes your cookie.  
    It's just a script or program; maybe it reads rc.conf to 
    see what the sensible options are for the daemon you want to 
    play with, but in any case we leave the existing rc + conf alone,
    and instead just add an optional "sysadmin convenience program" as an 
    external add-on, but not an essential thing used in system booting.

If NetBSD's startup system evolves towards an init-script/runlevel
setup, well, that just means I will have to hack my own installs
of NetBSD backwards to the current state, which I am actually very content
with...  To Luke & Matthew et al, thanks for the ideas.  
If I get grumpy enough with the lack of an "official" 
starter-stopper (per [5] above) I may just have to get 
off my duff and write it.  :-)

-lou

-- 
Api the Baboon: Ha ha!  I just got some new software!
Monkey 347:     Oh?  What is it?
Api the Baboon: MS Take 1.0 - it finds users who want to PAY to be our
                beta-testers!  Isn't that Great!?
Monkey 347:     "'MS Take' ... well, at least the name's honest.
             
        -- from "The Adventures of Code Monkey #347"