Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
This question has been bugging me for a few weeks now. Why would a distro use SystemV Init scripts instead of BSD-Style?
Trying to edit SysV is overwhealming. BSD-Style is real simple. Is it speed or security or something? I can not see any advantages to using SystemV scripts instead of BSD-Style.
If you could enlighten me here, I'd appriciate it.
Originally posted by Artimus This question has been bugging me for a few weeks now. Why would a distro use SystemV Init scripts instead of BSD-Style?
Trying to edit SysV is overwhealming. BSD-Style is real simple. Is it speed or security or something? I can not see any advantages to using SystemV scripts instead of BSD-Style.
If you could enlighten me here, I'd appriciate it.
System V init has become the standard in the Linux world to control the startup of software at boot time. This is because it is easier to use and more powerful and flexible than the traditional BSD init.
The init binary is located in /sbin and not /etc. This is important as one might try and upgrade a machine to System V init without re-installing and reformatting.Linux checks /etc for its init.
SysV init also differs from BSD init in that the config files are in a subdirectory of /etc instead of residing directly in /etc. This directory is called rc.d. In there you will find rc.sysinit and the following directories such as rcx.d init.d
Good news for you though :Slackware uses BSD style init.
So if you are so comfortable with BSD you could try Slackware(on last count they were using BSD ;don't blame me if they have switched to SysV)
for a good comparision of BSD and SystemV http://www.linuxsa.org.au/meetings/1...init/init.html
I think you missed my point, rch. I wanted to know why SysV is better, not what SysV is. I'm already using Slackware, by the way. The points you've brought up:
Easier to use:
Easier to use? Are you crazy? BSD-Style are simple sh scripts, while SysV uses symlinks and priorities...
Powerful/Flexable:
Could you give me a reasonable example(a.k.a not IBM's mainframe or something) of how they can do something that BSD-style can't.
Upgrading to SysV:
Why the heck would I do that? I made a big speech asking why nearly all Linux distros seem to use SysV scripts.
Edit: MODS: If this gets into a huge flame war, please close it.
Artimus:The above link by rshaw answers almost all the questions.
I have to agree that SysV has its advantages along with its disadvantages.
Well it is easier to use BSD but do you want to kill the services with ps -aux|grep blah
and then killing the pid instead of a
easier :service blah stop/star/reload/etc
You must agree with me that it would be easier for the end user.
as for those who write the init scipts using BSD will mean less work
But you must agree with me that SysV provides better flexibility.
I hope that this is the end of the discussion.
There is no real difference. It's just moved to sysV because just like with developers on apache and xorg, if somone wanted to modify the configuration it's easier to see the change on a separate smaller 20 line file rather than some massive 2000 line config file. But the issue with sysV is that when you need to troubleshoot something it is a complete disaster. Not only is it a waste of hard drive space, there is more "snooping" to find the "correct" config file, then save it to the "correct" locations. There is no advantage to the sysV, some may claim otherwise but that was back in the day when bsd init was young. All said when the dust settles and the air clears BSD init style scripts are just the future of any linux distro.
Artimus:The above link by rshaw answers almost all the questions.
I have to agree that SysV has its advantages along with its disadvantages.
Well it is easier to use BSD but do you want to kill the services with ps -aux|grep blah
and then killing the pid instead of a
easier :service blah stop/star/reload/etc
Uhhh... what are you talking about?
In Slackware, you can just do /etc/rc.d/rc.httpd start | stop | restart
no need for ps -aux|grep blah
Quote:
Originally Posted by darthaxul
There is no real difference. It's just moved to sysV because just like with developers on apache and xorg, if somone wanted to modify the configuration it's easier to see the change on a separate smaller 20 line file rather than some massive 2000 line config file. But the issue with sysV is that when you need to troubleshoot something it is a complete disaster. Not only is it a waste of hard drive space, there is more "snooping" to find the "correct" config file, then save it to the "correct" locations. There is no advantage to the sysV, some may claim otherwise but that was back in the day when bsd init was young. All said when the dust settles and the air clears BSD init style scripts are just the future of any linux distro.
Hear, hear.
The much simpler and easier to understand and deal with BSD style init is one of the things that make me love Slackware.
In Slackware, you can just do /etc/rc.d/rc.httpd start | stop | restart
no need for ps -aux|grep blah
People often say that Slackware uses BSD style initscripts, but it really doesn't. Slackware's approach is more of a hybrid of sysvinit's /etc/init.d/ scripts, combined with BSD's sequential rc file. It just leaves off all that sysv runlevel symlink stuff that almost no one uses and which IMHO just serves to overcomplicate sysvinit.
Original BSD didn't have the "rc.something start | stop | restart" mechanism. If you wanted to stop something, you had to do it manually by issuing its stop command -- if it had one -- or sending its pid a hup/term/kill signal. If you wanted to restart it, you'd have to look in /etc/rc to find the correct command(s) to start it (unless you knew them by heart).
Anyway, as Chris says: years old thread, and even less relevant today thanks to systemd (for good or bad -- which I'm not going to get into).
Systemd is the best! bring on needlessly complicated boot sequences! To be honest, unless someone's building a distro from scratch, a user has to use whatever the vendor chooses for him. Doesn't really matter which one is better.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.