Nothinman: The BSD init in Slack in no way effects the run level stuff. The difference between BSD init and SysV is different. Basically in BSD-style you have large init scripts that you setup in your rc.d directory (actually, I think real BSD uses a single monolithic startup script, but I know for fact that Slackware splits it up a bit)
(with Slackware/BSD being, IMHO, setup in an immensely superior way
It's a lot easier for an install script/program to create a new script (or copy one from the distribution media) in /etc/init.d then create symlinks in /etc/rc?.d for it to start than it is to edit a text file successfully.
It's not that hard to edit a text file so long as it follows a standard convention (I've written software that does it). It's especially easy if you just need to tack on extra stuff to the end of a file
the fact that they're independent scripts that execute seperately pretty much keeps them from interacting with each other in any meaningful way).
And the true beauty of BSD-init is that when that install program inevitably messes something up (can happen with either system), it's going to be more understandable and easy to fix with the BSD system
Originally posted by: Nothinman
It's not that hard to edit a text file so long as it follows a standard convention (I've written software that does it). It's especially easy if you just need to tack on extra stuff to the end of a file
It's not that hard, but string processing in C or C++ is bad, and most things on unix are done in C or C++. It's not impossible, but it's very easy to mess up, must easier to screw up than 'cp file dest; ln whatever wherever'. And you still have to read all the lines in the file and make sure there's not an entry already, otherwise you could end up starting the same daemon multiple times, with SysV you just see if the file exists in init.d, if so ask to overwrite it, check for the symlinks and make them if they're not there.
the fact that they're independent scripts that execute seperately pretty much keeps them from interacting with each other in any meaningful way).
What interaction is needed? This script starts this daemon, this one starts this one, etc. If one is required by another you use the numbers to make them start in order.
And the true beauty of BSD-init is that when that install program inevitably messes something up (can happen with either system), it's going to be more understandable and easy to fix with the BSD system
No, the beauty of the SysV init is that when the installer f's up the init scripts, I don't have to worry about it touching any of the other daemon's scripts. SysV init is extremely simple, I don't know why you think BSD is simpler...
I didn't suggest that any interaction is needed. I merely stated that it's not there in either system. The lack of interaction (or the need of it) means that you don't exactly have to do brain surgery on the init file you're changing. Make sure your line isn't there and if it isn't add it. That's about as complicated as the modification needs to be (and if the installation program/script can't do that I'd doubt the quality of the software it's installing as well).What interaction is needed? This script starts this daemon, this one starts this one, etc. If one is required by another you use the numbers to make them start in order.
No, the beauty of the SysV init is that when the installer f's up the init scripts, I don't have to worry about it touching any of the other daemon's scripts. SysV init is extremely simple, I don't know why you think BSD is simpler...
But the simple fact of the matter is that I can go in and fix a problem with Slackware's script system several orders of magnitiude faster than any of the SysV distros.
After using Slackware I've never found any of the SysV based distros (including but not limited to Debian) worth using.
That's what I don't get. If say Samba isn't starting properly, you go and edit /etc/rc.inet (or whatever) and I go edit /etc/init.d/samba, where's the added simplicity? And on top of that, like Sunner pointed out, I can type '/etc/init.d/samba stop | start' to restart Samba if it doesn't restart on a SIGHUP.
But the difference is in what each of us sees when we open up those script files. SysV scripts take arguments (start/stop) and have all sorts of unnecessary scripting code strewn here and there (code that's not always documented well or sometimes even at all). Not all of them use the same interpreter either which adds to the complexity if you know some shell scripting languages but not others.