Hello!
The package sysvinit-scripts provides the init scripts, but they are not located in /etc/init.d, but in /etc/rc.d, like FreeBSD does.
Some people say Slackware provides SysVinit, some BSD-like init.
What are the differences here?
IIRC FreeBSD does not have run levels.
On Thu, 09 Jul 2026 15:56:43 +0200, Marco Moock wrote:
Hello!
The package sysvinit-scripts provides the init scripts, but they are not
located in /etc/init.d, but in /etc/rc.d, like FreeBSD does.
Some people say Slackware provides SysVinit, some BSD-like init.
What are the differences here?
IIRC FreeBSD does not have run levels.
IIRC, Pat V. "grew up" on BSD, and makes his init scripts "BSD-like". However, as some packages supply their own SysV initscripts (and the
Linux Standards Base still dictates the requirement to support SysV initscripts), Slackware allows for their use.
The primary difference between the SysV and BSD initscript philosophy seems to be how the scripts are named and invoked. SysV has different names for the scripts to start and stop a service, while BSD uses an argument to the script to indicate the same.
As for "run levels", "real" BSD didn't support the range of runlevels that SysVinit does, and apparently neither do the Free/Open/NetBSDs. (BSDs apparently
support a "single user" mode and a "multi-user" mode, something like the SysVinit
run level 1 ("single user") and run level 3 ("multi user").
Seemingly, the use of runlevels, inittab entries, and run levels have become
"long forgotten lore". I personally find the combination more flexible than the--
equivalent SystemD configurations that pervade the Linux space these days. But,
then again, I'm an old fart. :-)
Hello!
The package sysvinit-scripts provides the init scripts, but they are not located in /etc/init.d, but in /etc/rc.d, like FreeBSD does.
Some people say Slackware provides SysVinit, some BSD-like init.
What are the differences here?
IIRC FreeBSD does not have run levels.
Marco Moock <mm@dorfdsl.de> wrote:
Hello!
The package sysvinit-scripts provides the init scripts, but they are not
located in /etc/init.d, but in /etc/rc.d, like FreeBSD does.
Some people say Slackware provides SysVinit, some BSD-like init.
What are the differences here?
IIRC FreeBSD does not have run levels.
In addition to what Lew posted, one other big difference is that
traditional SYSV init script styling has the scripts linked as an ugly forest of symlinks beneath /etc/rc.d/rc?.d/ directories pointing to the actual scripts, with the names of the symlinks defining the order in
which each is executed. Each "script" in effect being little more than
a small "function" in a larger program.
BSD style init has the scripts as actual scripts (i.e., multiple
functions inside each script file), which execute each other as they go along as needed, but without the symlink forest indirection to have to
parse through to figure out what is, or is not, executed.
As you can tell, I've not had much experience with a true SysV init
system. I had forgot about the symlink forest; my only real experience
was on an IP04 linux-based PSTN&VoIP telephony device, which used the
SysV style symlink forest quite extensively.
Some things put stuff in Slackware's /etc/init.d, but this is unusual. rY#jayjwarYO/etcrY#rLore+ ls init.d/Some people say Slackware provides SysVinit, some BSD-like init.
In addition to what Lew posted, one other big difference is thatIn Solaris 9, /etc/rc.d is obsolete, according to /etc/init.d/README:
traditional SYSV init script styling has the scripts linked as an ugly forest of symlinks beneath /etc/rc.d/rc?.d/ directories pointing to the actual scripts, with the names of the symlinks defining the order in
which each is executed. Each "script" in effect being little more than
a small "function" in a larger program.
BSD style init has the scripts as actual scripts (i.e., multipleThis is what SysVinit looks like on Solaris 9:
functions inside each script file), which execute each other as they go along as needed, but without the symlink forest indirection to have to
parse through to figure out what is, or is not, executed.
Looks like Slackware's is patterned off of BSD but with some
modifications. There's a rc.sysvinit but I've never seen it used in
all my years of Slackware.
it would be possibly used
by someone installing an RPM from redhat by doing a rpm2tgz then
installing the tgz unmodified.
Hello!
The package sysvinit-scripts provides the init scripts, but they are not located in /etc/init.d, but in /etc/rc.d, like FreeBSD does.
Some people say Slackware provides SysVinit, some BSD-like init.
What are the differences here?
IIRC FreeBSD does not have run levels.
IIRC, at one time BSD had just 1 large rc. Then the NetBSD
people came up with the current BSD init using rc.conf. The
other BSDs adapted and in some cases updated it for their own
use.
I admit my memory could be "suspect", but I remember seeing a
NetBSD pdf describing the move to the current rc setup.
I never saved it :(
John McCue <jmclnx@gmail.com.invalid> writes:<snip>
...
I never saved it :(
This is probably the document you mean: http://www.mewburn.net/luke/papers/rc.d.pdf
It's linked from the Additional Reading section of chapter 7 of NetBSD's handbook, the chapter on rc.d:
https://netbsd.org/docs/guide/en/chap-rc.html
Regards,--
Mike Sm.
The basic idea these days is systemd. Slackware doesn't use systemd. it
uses run levels. Slackware is easier to use for me.
Am 07.08.26 um 00:45 schrieb steve g:
The basic idea these days is systemd. Slackware doesn't use systemd. it
uses run levels. Slackware is easier to use for me.
systemd has targets that behave very similar.
Although, systemd is much more complex regarding what it does, where it
is being configured and which unit triggers another one.
On Fri, 07 Aug 2026 07:16:45 +0200, Marco Moock wrote:
Am 07.08.26 um 00:45 schrieb steve g:
The basic idea these days is systemd. Slackware doesn't use systemd. it
uses run levels. Slackware is easier to use for me.
systemd has targets that behave very similar.
Although, systemd is much more complex regarding what it does, where it
is being configured and which unit triggers another one.
IMHO, the biggest disadvantage of systemd is not that it is more complex. The biggest disadvantage of systemd is that it deviates from the number
one of the Unix philosopies: "Make each program do one thing well. To do
a new job, build afresh rather than complicate old programs by adding new "features"."
Systemd is not only an init system. It does not only replace /sbin/init,
it also replaces /usr/sbin/crond, /usr/sbin/syslogd, /sbin/udevd and /usr/ sbin/inetd. Systemd is not a bad choice because it is complex, it is
complex because it failed to follow the Unix philosopies.
On Fri, 07 Aug 2026 07:16:45 +0200, Marco Moock wrote:
Am 07.08.26 um 00:45 schrieb steve g:
The basic idea these days is systemd. Slackware doesn't use systemd. it
uses run levels. Slackware is easier to use for me.
systemd has targets that behave very similar.
Although, systemd is much more complex regarding what it does, where it
is being configured and which unit triggers another one.
IMHO, the biggest disadvantage of systemd is not that it is more complex. The biggest disadvantage of systemd is that it deviates from the number
one of the Unix philosopies: "Make each program do one thing well. To do
a new job, build afresh rather than complicate old programs by adding new "features"."
I have a similar beef with udevd (and eudevd), its use of "udev rules"
in place of a proper embedded programming language
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 74 |
| Nodes: | 6 (1 / 5) |
| Uptime: | 51:10:49 |
| Calls: | 1,101 |
| Calls today: | 1 |
| Files: | 1,339 |
| Messages: | 276,012 |