[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFPondering: runlevelconf, dependency-based init.d scheme



On Sat, May 27, 2000 at 06:19:01PM -0700, Robert Woodcock wrote:
> I worked on something like this over a year ago, and Anthony Towns
> was able to do most of the coding on it. Nothing really ever happened with
> it though.
> 
> Please check http://master.debian.org/~rcw/BootDependancies, the code is
> also in that directory.

While I cannot access the tarball, I think I understand the point of
the work described there.

Somehow I thought starting services in parallel is not desirable,
since it requires extra resources from the system.

Otherwise (admittedly on the extreme) one can do a rather simple scheme of
starting services *and* keeping dependencies.

Indeed, if LIST contains the list of services to start at the new
runlevel, just do

for i in $LIST; do
    /etc/init.d/$i start &
done

To have dependency startup, just make sure that the start() functions
in the init files start the service only  when the services the
service depends on already started.  On RedHat (sorry, that is what I
am running), a service signals that it is "up" by touching the file

/var/lock/subsys/`service'.

So if you want to make sure that ypbind starts after ypserv and
syslog, just make sure, start() periodically checks for the existence
of /var/lock/subsys/ypserv and /var/lock/subsys/syslog.

I have never thought that speed during bootup is essential, and the
runlevelconf package's main motivation for existence is to implement
start/stop of services based on dependence as a more convenient *user*
interface. 

Indeed, for a sysadm it would be very comforting  to know that when she is
trying to install ssh on 120 machines running 15 different Unices, she
just has to enter commands similar to 

rlc-add 3s ssh syslog

on all the machines (only the runlevel, 3 in this case, changes).

With the present sequence based scheme, if she is unlucky, she would
have to come up with good sequence numbers for every single box.

I'd like to emphasize that my viewpoint is from a sysadm's view, and
I am far from being an expert sysdeveloper, so please take my remarks
on parallelism as an expression of a first impression.

Mate



Reply to: