Subject: Re: Proposed rc.d/rc.conf[.d] changes....
To: None <tech-userlevel@netbsd.org>
From: Darren Reed <darrenr@reed.wattle.id.au>
List: tech-userlevel
Date: 05/08/2000 05:27:01
FYI, HP-UX 10/11 has, IMHO, the best rc implementation I've been exposed to.

It is constructed as follows:
/sbin/init.d, /sbin/rcN.d
- what others put in /etc BUT they have a much more granular approach
  to the rc files than Solaris does.  /sbin/init.d is populated as
  follows:

./               dtlogin.rc*      lp*              rbootd*
../              envd*            maclan_init*     rdpd*
OspfMib*         gated*           mrouted*         rwhod*
Rpcd*            hostname*        named*           savecrash*
SnmpHpunix*      hparamgr*        net*             sendmail*
SnmpMaster*      hparray*         net.init*        set_date*
SnmpMib2*        hpbase100*       nettl*           set_prvgrp*
SnmpTrpDst*      hpether*         nfs.client*      slsd*
acct*            hpfc*            nfs.core*        spa*
audio*           hpfcms*          nfs.server*      supprtinfo*
auditing*        hpgsc100*        nis.client*      swagentd*
clean_adm*       hpsppci100*      nis.server*      swap_start*
clean_ex*        iforls*          nisplus.client*  swconfig*
clean_tmps*      inetd*           nisplus.server*  syncer*
clean_uucp*      inetsvcs*        ns-httpd*        syslogd*
comsec*          ipfboot*         pd*              template*
crashconf*       killall*         ppp*             tps.rc*
cron*            kmbuild*         ptydaemon*       vt*
dce*             kminit*          pwgr*            xfs*
ddfa*            localmount*      rarpd*           xntpd*

/etc/rc.config.d
- *all* HP supplied init RC files have an associated config file with a
  variable to control the starting/stopping of a service:
./                clean_uucp        hpsppci100conf    pd
../               comsec            iforls            ptydaemon
LANG              crashconf         ipfconf*          pwgr
Rpcd              cron              kminit            savecrash
SnmpHpunix        dce               list_mode         set_date
SnmpMaster        desktop           lp                slsd*
SnmpMib2          envd              mailservs         supprtinfo
SnmpTrpDst        hparamgr*         namesvrs          swconfig
acct              hparray           nddconf           syncer
audio*            hpbase100conf     netconf           tps
auditing          hpetherconf       netdaemons        vt
cde               hpfcgsc_lanconf   nettl             xfs*
clean             hpfcmsconf        nfsconf*
clean_tmps        hpgsc100conf      ns-httpd

(scripts like nfs.server and nfs.client both get defailts from nfsconf).

An RC script will typically do ". /etc/rc.config", which will source all of
the files in /etc/rc.config.d, at the top rather than read in just its own
config file explicitly.  From a system admin POV, it's a damn sight easier
to manage than the mess Solaris dumps you with.  You can even start using
RCS/CVS/SCCS in /etc/rc.config.d and *NOT* have to change anything in order
to prevent lossage.  There is *rarely* a need to edit the RC files directly.

My main concern with NetBSD's rc implementation is the problem of controlling
what gets started at bootup and what gets stopped when you shutdown.  Having
two separate directories (/etc/rc.d and /etc/init.d) without adding S/K only
alleviates one side of the problem.  I'm beginning to think that it may even
need to be rototilled as the shutdown side of things didn't seem to be very
well thought through during design/implementation by any of us.

Darren