Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Apr 1997 12:42:35 -0700 (PDT)
From:      patl@Phoenix.volant.org
To:        David Nugent <davidn@unique.usn.blaze.net.au>
Cc:        Jaye Mathisen <mrcpu@cdsnet.net>, "Jordan K. Hubbard" <jkh@time.cdrom.com>, hackers@freebsd.org
Subject:   Re: /etc/netstart bogons.. 
Message-ID:  <ML-3.3.862083755.5758.patl@asimov>
In-Reply-To: <199704240129.LAA22210@unique.usn.blaze.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help
> Perhaps this comes down to personal preference, but I've had
> considerably more years experience in SysV than BSD, and I by
> *far* prefer the BSD approach.

Yes, it does come down to personal preference.  I have many more
years with various flavors of BSD; but the rc.d/init.d system
is one of the few places where I think Solaris2 is a clear win
over BSD.

> Runlevel issues aside, I've found the SysV approach no simpler
> than BSD - in fact, the exact opposite. Since you've given
> Solaris ("Symlink City") as an example, I can't guess why you'd
> find it easier. Yuck!

Would hard links make you happier?  Solaris2 certainly goes
overboard on symlinks; but in this case I think they are the
right way to go.

> Spreading out startup/shutdown scripts into the filesystem is
> bogus, imho. The *general* approach is ok, but rc.d/init.d with
> runlevel dirs with symlinks just makes the whole mess
> unmanageable. A simple flat file with a list of sub-scripts to
> run and in which order would be so much simpler - text editors
> are usually somewhat more usable than a cli and the eye can more
> easily detect errors.

I find it much -more- manageable.  And I -really- like knowing
that packages can install a startup script without attempting
to edit any of my startup files.

The rc.d/init.d directory provides a place for all of the startup
scripts to live, under very descriptive names.  Possibly including
standard scripts for services that are not enabled on the system.
The rc?.d directories provide a simple mechanism to specify which
ones will be run and in what order.  (The order is provided by the
two-digit prefix on the link.  Links with the same prefix may be
run in any order.)

>From the administration point of view, you are mostly interested
in the rc.d/init.d version.  That is the one that you invoke to
manually start/stop/restart a service.  That is the one that you
view or edit if you want to see or change exactly what happens on
service start/stop/restart.  You only look in the rc?.d directories
to ensure that the service is listed; and properly sequenced.  And
you can do that with a simple ls.  (Use -l if you need to ensure
that it is actually linked to the right script.)  It's simple,
elegant, and clean.  (I'm slightly amazed that it made it into
Solaris2 without a load of additional cruft.)

And like it or not, FreeBSD does have at least two run levels.
(Three if you count 'halted')  The ability to automatically and
cleanly start/stop services when switching between single and
multi-user modes would be a big win.  (For that matter, the
ability to go from multi back to single without a reboot would
be a win.)




-Pat




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ML-3.3.862083755.5758.patl>