Subject: Re: Updating /etc...
To: None <current-users@NetBSD.ORG>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
List: current-users
Date: 12/20/1995 06:46:25
> Have you worked at a large UNIX site?

Depending on your definition of "large", I may currently work at one.

> There is a reason why LARGE sites like /etc/init.d, it's not just
> dumb luck.  In a nutshell:

> 1: pkg* allows clean installation and removal of packages without
>    having to scour a multigig filesystem tree looking for remnants or
>    worrying some init file has been missed causing lockup or worse on
>    reboot.

This is a complete strawman.  It is useful to be able to cleanly
install and deinstall a package, it's true.  But that is orthogonal to
the startup script issue.

Consider the following fragment from a BSD-style rc script:

if [ -f /local/X11/bin/xdm -a -f /local/X11/lib/xdm/xdm-config ]; then
        touch /local/X11/lib/xdm/Afoo
        ( cd /local/X11/lib/xdm ; rm -f A* )
        /local/X11/bin/xdm -config /local/X11/lib/xdm/xdm-config -daemon
        echo -n ' xdm'
fi

If you want to deinstall X, just blow away /local/X11, and you're done.

If some package refuses to be nicely contained in a single directory,
that's a fault of the package, not a fault of the boot-time script
setup.  The only relevant complaint is that you have to drop a fragment
in /etc/rc* by hand when installing, and if you want to clean up after
it (as opposed to doing a couple of extra tests every boot) when
deinstalling.  The only advantage of the SV way is that it makes it
harder for the package creator to be sloppy and install itself all over
the place instead of being well-contained.

> 2: /etc/init.d provide's ONE place where you have to look for scripts
>    that start/stop each subsystem.  It doesn't require careful
>    examination of a HUGE rc.local file to try and find the pieces you
>    need to comment out or alter or manually type in to start/stop a
>    subsystem/package.  Each script tells you what you need to know to
>    start/stop a subsystem.

This is fine if you like the "we'll tell you what you need to know, now
run along and play" philosophy.  I don't.  I'm with _MelloN_ on this
one; there's a lot more mental effort involved in every phase with the
multiple-script method: finding, understanding, and tweaking.  I've too
often had something break in weird way and had to go clean it up by
hand; the scripts break badly in the face of such oddities.

> For personal systems it's convieniant to have /etc/init.d and pkg*,
> for large sites it's a [necessity].  That's why large sites tend to
> SVR4 these days and why most commercial UNIX providers have gone that
> route either by aquisition, SCO/HP/Novell, or by choice, Sun.

Once again, even if - arguendo - we grant this, is it a reason why
NetBSD should?

					der Mouse

			    mouse@collatz.mcrcim.mcgill.edu