Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 08 Sep 2000 22:53:49 +0930
From:      Matthew Thyer <thyerm@camtech.net.au>
To:        current@freebsd.org
Subject:   /usr/local/etc/rc.d and /etc/rc.d
Message-ID:  <39B8E865.B77012B@camtech.net.au>

next in thread | raw e-mail | index | archive | help
[I know this was discussed a couple of months ago but since nothings
been committed yet I throw in my 3 month old email that I haven't
been able to send due to my stupid ISP with unregistered mail relays]


Please read as I have done a fair bit of thinking on this matter as
the sysadmin of many commercial UNIX systems (SunOS, Solaris, IRIX,
HP-UX, True64) plus FreeBSD and Linux (we'll just call it UNIX even
though that's debatable).  [NOTE I'm 750 behind on my cvs-all mail so
dont hassle me as I haven't read this thread yet but feel the need to
respond before we end up with some wierd non backward compatible
system that's totally different from common UNIX systems].


I would like to see startup and shutdown scripts exist in a single
directory ("/usr/local/etc/rc.d/" for ports and eventually
"/etc/rc.d" when the system migrates to the same scheme).

The startup and shutdown functionality would be in the same script
and the scripts should be named starting with a capital 'S' for
startup and a capital 'K' for shutdown (I'm also keen on the HPUX
startmsg and stopmsg one liners).

There's no need for the seperate SYSV init.d directory as scripts
will be off if they dont start with the right naming convention.
As for runlevels... thats not BSD and I dont know any SYSV admin
who uses them (I dont count the RedHat hack to turn on X).

The scripts will be differentiated from existing scripts (the old
system) as the new system will only act on scripts that have a digit
in the second character of their name (there could be a backward
compatability process to act on all the others afterwards which
would be disabled by default... presumably "disabled.S99rc.compat"
or some such name).

Stop scripts will be a symbolic link to their startup script
counterpart (and would simply not be executed if the K* file doesn't
exist).  Symbolic links make it clear they are the same script.

Scripts would be executed in alphabetical order (after the S or K)
so the sysadmin has control over the execution order which is
important.

Scripts would source common functions from a system file so we have
control over future changes in functionality/reporting.  This would
also make the template script very simple.


Eventually I would like the system to migrate to such a scheme but
maintain the backward compatibility scripts /etc/netstart which
could be implemented either by simply 'knowing' which rc scripts
do network functionality or by reserving a range of numbers for
network startup  <--- HACK!

I'd really like the system to allow stuff like "/etc/rc.d/S84named
reread"  (or "restart", "reload" whatever is acceptable).

I'd also really like at least named and perl to be removed from the
base system but that's another thread.

One of the big turn offs to FreeBSD in the System V world is:
"What!, why do I need to know which signal to send blah to reload
it ?".

The backward compatibilty hack script in "/usr/local/etc/rc.d/"
would ignore files starting with "README" and "disabled" (and
maybe other typical disabling naming methods).
This is not too much of a hack as the backward compatibility
script would go away in a release or two.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39B8E865.B77012B>