Subject: Re: NetBSD master CVS tree commits
To: None <Havard.Eidnes@runit.sintef.no, greywolf@defender.VAS.viewlogic.com>
From: John Nemeth <jnemeth@cue.bc.ca>
List: current-users
Date: 04/06/1996 13:26:28
On Apr 4, 12:21pm, Havard.Eidnes@runit.sintef.no wrote:
}
} > 	rc.local would run
} > 
} > 	if [ -d /etc/rc.d ]; then
} > 		(cd /etc/rc.d
} > 		 for file in S*; do
} > 		 sh $file start; done); fi
} 
} This does not cater for shutdown script runs, which is most
} likely a show-stopper of this proposal.
} 
} I mean: if we are going to change to an init.d-style startup
} process, we might as well add the common extra feature of having
} shutdown scripts run for each "package" which was started.

     It's not a feature, it's a bug.

     I would much rather not see shutdown scripts.  If a process needs
to do anything special, it should trap SIGTERM.  I much prefer the
standard BSD shutdown method of sending SIGTERM followed shortly by
SIGKILL, since I've seen too many problems caused by shutdown scripts.
I.e.  init calls script, which calls some program, which then promptly
hangs for any number of reasons (i.e. system was in an unexpected
state, NFS server unavailable, coding bugs, etc.), thus hanging the
system in a way that only a power cycle will fix and preventing proper
system shutdown.  In my opinion, it is absolutely unacceptable for a
user process to stop a clean shutdown.

} Personally I used to prefer the /etc/rc-style startup due to it's
} apparent simplicity, but I can see why init.d makes for better

     It is simple.

} modularity, better robustness and better drop-in installation of

     Yes, it does have better modularity, but at what cost, and is it
needed.  It isn't more robust.

} new packages, while still maintaining reasonable simplicity.  I'd

     This is about the only advantage that I can see.  But, for this
the above would work fine.  There is nothing simple about it.  It
spreads configuration stuff all over the system.

} say: go for it!

     I say don't.  One of the reasons I run BSD systems is because I
like them.  I absolutely hate the SV methods of doing system
administration amongst other things.  If I wanted SV, I would be
running it.  If you want SV then you should be running it instead of
trying to pervert a BSD system.  BTW, I have run numerous SV based
systems and am fully capable of administering them.  I just don't like
them.

} The /etc/rc die-hards can either have a single S00rc in their
} init.d directory pointing to /etc/rc, or we could possibly have a
} test for /etc/rc existence in /sbin/init (but that bloats
} /sbin/init, which I think we could do better without...).

     This isn't exactly major bloat, and only affects system startup,
not operation.  Besides, a quick test at startup time is nothing
compared to what adding the multiple startup scripts, shutdown scripts,
run levels, /etc/inittab, etc. will do to it.

}-- End of excerpt from Havard.Eidnes@runit.sintef.no