Date: Fri, 16 Aug 1996 15:36:42 -0600 (MDT) From: Nate Williams <nate@mt.sri.com> To: Terry Lambert <terry@lambert.org> Cc: freebsd-current@freebsd.org Subject: Re: Opinions? NT VS UNIX, NT SUCKS SOMETIMES Message-ID: <199608162136.PAA08388@rocky.mt.sri.com> In-Reply-To: <199608162004.NAA03242@phaeton.artisoft.com> References: <m0urJR3-00036xC@viking.ucsalf.ac.uk> <199608162004.NAA03242@phaeton.artisoft.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>
> In BSD, I can add service A by appending to /etc/rc.local during
> install.
That's one way of doing it, but not the only way.
> I can then add service B by doing the same thing.
> Now I want to deinstall service A... I am screwed because:
>
> 1) I can't stop the service by name unless it's exactly one
> process, or I do a whole lot of work that has to be
> duplicated over and over for each package because the
> support infrastructure is non-existent.
The current setup doesn't allow for 'stopping' of services.
> 2) I can't automatically hack the file, because I may not
> have tagged the file in such a way that it's editable, and
> since we allow users to hack the file as well as allowing
> install scripts to hack the file, we can never be sure that
> we would be removing the right thing anyway.
The 'other' solution works in this case.
> 3) I can't automatically start the service in the same way that
> I would start the service on system initialization without
> a reboot, because the start "script" is now homogenized into
> the rc.local and forever unuasable on a per item basis.
The 'other' solution works in this case.
>From -current's /etc/sysconfig:
# Location of local startup directories.
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d"
>From -current's /etc/rc:
# for each valid dir in $local_startup, search for init scripts matching *.sh
if [ "X${local_startup}" != X"NO" ]; then
for dir in ${local_startup}; do
[ -d ${dir} ] && for script in ${dir}/*.sh; do
[ -x ${script} ] && ${script} start
done
done
fi
This is *very* much like SysV's init, except that it leaves the system
(ie; standard/normal configuration) localized, and non-standard (custom)
stuff off somewhere else. This si a 'Good Thing' IMHO.
init(8) still needs to be modified to have it run a signle 'shutdown'
script which would do the same thing as above, but it wouldn't be that
hard to do.
The SysV of 'multiple run-levels' is something I've yet to see used.
Even the most hard-core SysV gurus use the two available in BSD,
single-user and multi-user.
Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199608162136.PAA08388>
