Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.os.linux.slackware > #35692 > unrolled thread

SysVinit vs BSDinit

Started byMarco Moock <mm@dorfdsl.de>
First post2026-07-09 15:56 +0200
Last post2026-08-16 11:06 +0000
Articles 18 — 8 participants

Back to article view | Back to alt.os.linux.slackware


Contents

  SysVinit vs BSDinit Marco Moock <mm@dorfdsl.de> - 2026-07-09 15:56 +0200
    Re: SysVinit vs BSDinit Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2026-07-09 14:25 +0000
      Re: SysVinit vs BSDinit Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2026-07-09 14:27 +0000
    Re: SysVinit vs BSDinit Rich <rich@example.invalid> - 2026-07-09 15:16 +0000
      Re: SysVinit vs BSDinit Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2026-07-09 15:46 +0000
        Re: SysVinit vs BSDinit Marco Moock <mm@dorfdsl.de> - 2026-07-10 07:01 +0200
      Re: SysVinit vs BSDinit jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-07-10 13:16 -0400
        Re: SysVinit vs BSDinit Rich <rich@example.invalid> - 2026-07-11 01:22 +0000
          Re: SysVinit vs BSDinit Marco Moock <mm@dorfdsl.de> - 2026-07-11 07:26 +0200
    Re: SysVinit vs BSDinit John McCue <jmclnx@gmail.com.invalid> - 2026-07-11 15:16 +0000
      Re: SysVinit vs BSDinit Mike Small <smallm@panix.com> - 2026-07-23 13:27 -0400
        Re: SysVinit vs BSDinit John McCue <jmclnx@gmail.com.invalid> - 2026-07-23 23:36 +0000
    Re: SysVinit vs BSDinit steve g <Sgonedes1977@gmail.com> - 2026-08-06 18:45 -0400
      Re: SysVinit vs BSDinit Marco Moock <mm@dorfdsl.de> - 2026-08-07 07:16 +0200
        Re: SysVinit vs BSDinit Henrik Carlqvist <Henrik.Carlqvist@deadspam.com> - 2026-08-10 05:43 +0000
          Re: SysVinit vs BSDinit Rich <rich@example.invalid> - 2026-08-10 22:14 +0000
          Re: SysVinit vs BSDinit Mike Small <smallm@panix.com> - 2026-08-15 00:15 -0400
            Re: SysVinit vs BSDinit Henrik Carlqvist <Henrik.Carlqvist@deadspam.com> - 2026-08-16 11:06 +0000

#35692 — SysVinit vs BSDinit

FromMarco Moock <mm@dorfdsl.de>
Date2026-07-09 15:56 +0200
SubjectSysVinit vs BSDinit
Message-ID<112o9as$ee8h$1@dont-email.me>
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.

-- 
Gruß
Marco

Junk-Mail bitte an trashcan@stinkedores.dorfdsl.de

[toc] | [next] | [standalone]


#35693

FromLew Pitcher <lew.pitcher@digitalfreehold.ca>
Date2026-07-09 14:25 +0000
Message-ID<112ob0p$ccum$2@dont-email.me>
In reply to#35692
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.  :-)

-- 
Lew Pitcher
"In Skills We Trust"
Not LLM output - I'm just like this.

[toc] | [prev] | [next] | [standalone]


#35694

FromLew Pitcher <lew.pitcher@digitalfreehold.ca>
Date2026-07-09 14:27 +0000
Message-ID<112ob51$ccum$3@dont-email.me>
In reply to#35693
Oops. I should proofread these posts. Sorry

On Thu, 09 Jul 2026 14:25:29 +0000, Lew Pitcher wrote:

> 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

I meant to say...
Seemingly, the use of runlevels, inittab entries, and init scripts 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.  :-)




-- 
Lew Pitcher
"In Skills We Trust"
Not LLM output - I'm just like this.

[toc] | [prev] | [next] | [standalone]


#35695

FromRich <rich@example.invalid>
Date2026-07-09 15:16 +0000
Message-ID<112oe09$fr1i$1@dont-email.me>
In reply to#35692
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.

[toc] | [prev] | [next] | [standalone]


#35696

FromLew Pitcher <lew.pitcher@digitalfreehold.ca>
Date2026-07-09 15:46 +0000
Message-ID<112ofov$ccum$4@dont-email.me>
In reply to#35695
On Thu, 09 Jul 2026 15:16:25 +0000, Rich wrote:

> 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.



-- 
Lew Pitcher
"In Skills We Trust"
Not LLM output - I'm just like this.

[toc] | [prev] | [next] | [standalone]


#35697

FromMarco Moock <mm@dorfdsl.de>
Date2026-07-10 07:01 +0200
Message-ID<112pubo$vosu$1@dont-email.me>
In reply to#35696
Am 09.07.26 um 17:46 schrieb Lew Pitcher:
> 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.

I have access to IBM AIX, which is based on SysV. I will have a look at 
the init system.

-- 
Gruß
Marco

Junk-Mail bitte an trashcan@stinkedores.dorfdsl.de

[toc] | [prev] | [next] | [standalone]


#35698

Fromjayjwa <jayjwa@atr2.ath.cx.invalid>
Date2026-07-10 13:16 -0400
Message-ID<87tsq67ok7.fsf@atr2.ath.cx>
In reply to#35695
Rich <rich@example.invalid> writes:

>> Some people say Slackware provides SysVinit, some BSD-like init.
Some things put stuff in Slackware's /etc/init.d, but this is unusual.
❰jayjwa❙/etc❱✔≻ ls init.d/
functions*  README.functions  xrdp*

I don't actually use that script anyway.

> 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.
In Solaris 9, /etc/rc.d is obsolete, according to /etc/init.d/README:

NOTE:

/sbin/rc2 has references to the obsolescent 'rc.d' directory.  These
references are for compatibility with old INSTALL scripts. New INSTALL
scripts should use the init.d directory for related executables.  The
same is true for the shutdown.d directory.

> 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.
This is what SysVinit looks like on Solaris 9:
[13:08 jayjwa@kulve:/etc/init.d >] ls ../rc3.d                                       [pts/5 hst:34]
README          S15nfs.server*   S50apache*  S77dmi*       S84appserv*
S13kdc.master*  S16boot.server*  S52imq*     S80mipagent*  S89sshd*
S14kdc*         S34dhcp*         S76snmpdx*  S81volmgt*    S90samba*

There's no /etc/rc.d.

[13:08 jayjwa@kulve:/etc/init.d >] ls -ltr | tail -20                                [pts/5 hst:36]
-rwxr-xr-x    2 root     other        1.5k Apr 15  2002 autoinstall*
-rwxr--r--    6 root     sys           322 May  7  2003 appserv*
-rwxr--r--    5 root     sys           404 May 14  2003 rcapd*
-rwxr--r--    2 root     sys          2.6k Dec 16  2003 sunatm*
-rwxr--r--    6 root     sys          5.7k Apr  5  2004 imq*
-rwxr-xr-x    5 root     bin          1.5k Apr 26  2004 ipp*
-rwxr--r--    4 root     sys          1.1k May 10  2004 lu*
-rwxr--r--    6 root     sys           324 Dec  6  2004 samba*
-rwxr--r--    9 root     sys           391 Aug 18  2005 volmgt*
-rwxr--r--    6 root     sys          1.5k May 30  2006 apache*
-rwxr--r--    5 root     sys          1.0k Jul 19  2006 slpd*
-rwxr--r--    5 root     sys          7.0k Jul 19  2006 inetsvc*
-rwxr--r--    5 root     sys           12k Jul 19  2006 inetinit*
-rwxr--r--    2 root     sys          1.1k Jul 19  2006 cachefs.daemon*
-rwxr--r--    2 root     sys           20k Jul 19  2006 network*
-rwxr--r--    6 root     sys          1.4k Jul 19  2006 sshd*
-rwxr--r--    5 root     sys          2.8k Jul 19  2006 svm.sync*
-rwxr--r--    5 root     sys          2.7k Aug  5  2006 init.wbem*
-rwxr-xr-x    1 root     root         5.5k Jun 26  2023 webstart*
-rwxr--r--    2 root     sys           963 Sep  9  2023 perf*

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. 

-- 
PGP Key ID: 781C A3E2 C6ED 70A6 B356  7AF5 B510 542E D460 5CAE
       "The Internet should always be the Wild West!"

[toc] | [prev] | [next] | [standalone]


#35699

FromRich <rich@example.invalid>
Date2026-07-11 01:22 +0000
Message-ID<112s5su$1m6g1$1@dont-email.me>
In reply to#35698
jayjwa <jayjwa@atr2.ath.cx.invalid> wrote:
> 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.

My understanding (from somewhere) is that is present to make installing 
packages that assume a sysvinit symlink forest work on Slackware 
without fiddling.

It's not used by anything aimed at Slackware, it would be possibly used 
by someone installing an RPM from redhat by doing a rpm2tgz then 
installing the tgz unmodified.

[toc] | [prev] | [next] | [standalone]


#35700

FromMarco Moock <mm@dorfdsl.de>
Date2026-07-11 07:26 +0200
Message-ID<112sk6l$1pi19$1@dont-email.me>
In reply to#35699
Am 11.07.26 um 03:22 schrieb Rich:
> it would be possibly used
> by someone installing an RPM from redhat by doing a rpm2tgz then
> installing the tgz unmodified.

Maybe in the past, as RedHat used SysVinit. But in 6, they switched to 
Upstart and in 7 to systemd. RedHat and Fedora removed all their startup 
scripts to systemd - unlike Debian, that still ships some packages 
without systemd units, but initscripts that are used by the 
systemd-generator.

-- 
Gruß
Marco

Junk-Mail bitte an trashcan@stinkedores.dorfdsl.de

[toc] | [prev] | [next] | [standalone]


#35703

FromJohn McCue <jmclnx@gmail.com.invalid>
Date2026-07-11 15:16 +0000
Message-ID<112tmoa$24mqo$1@dont-email.me>
In reply to#35692
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?

Others replied with better info then I would have..
> 
> IIRC FreeBSD does not have run levels.

Correct and the same for other BSDs

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 :(

-- 
[t]csh(1) - "An elegant shell, for a more... civilized age."
                        - Paraphrasing Star Wars

[toc] | [prev] | [next] | [standalone]


#35717

FromMike Small <smallm@panix.com>
Date2026-07-23 13:27 -0400
Message-ID<jpktsppobuz.fsf@panix5.panix.com>
In reply to#35703
John McCue <jmclnx@gmail.com.invalid> writes:
...
> 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 :(

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.

[toc] | [prev] | [next] | [standalone]


#35718

FromJohn McCue <jmclnx@gmail.com.invalid>
Date2026-07-23 23:36 +0000
Message-ID<113u8i9$8t2n$1@dont-email.me>
In reply to#35717
Mike Small <smallm@panix.com> wrote:
> 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

Yes, that is the document.  This time I saved the link :)

> Regards,
> Mike Sm.

-- 
[t]csh(1) - "An elegant shell, for a more... civilized age."
                        - Paraphrasing Star Wars

[toc] | [prev] | [next] | [standalone]


#35726

Fromsteve g <Sgonedes1977@gmail.com>
Date2026-08-06 18:45 -0400
Message-ID<87v79m98cl.fsf@gmail.com>
In reply to#35692
Marco Moock <mm@dorfdsl.de> writes:

> 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.

 I was going to say runlevels.

The basic idea these days is systemd. Slackware doesn't use systemd. it
uses run levels. Slackware is easier to use for me.

[toc] | [prev] | [next] | [standalone]


#35727

FromMarco Moock <mm@dorfdsl.de>
Date2026-08-07 07:16 +0200
Message-ID<1153pnt$dcjp$1@dont-email.me>
In reply to#35726
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.


-- 
Gruß
Marco

Junk-Mail bitte an trashcan@stinkedores.dorfdsl.de

[toc] | [prev] | [next] | [standalone]


#35729

FromHenrik Carlqvist <Henrik.Carlqvist@deadspam.com>
Date2026-08-10 05:43 +0000
Message-ID<115bodt$2siu8$1@dont-email.me>
In reply to#35727
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. I prefer 
Slackware to be BSD-Unix-like, that will also make Slackware less complex 
and easier to use.

Today there are many people who grew up with an operating system which 
integrated everything in a GUI instead of putting a GUI on top of an 
operating system. They think that good tools should be complex like 
complete office suites and integrated development environments. Some of 
those peoaple are now developers. Some of those developers bring their 
ideas to Linux distributions.

regards Henrik

[toc] | [prev] | [next] | [standalone]


#35730

FromRich <rich@example.invalid>
Date2026-08-10 22:14 +0000
Message-ID<115digd$3gkf2$2@dont-email.me>
In reply to#35729
Henrik Carlqvist <Henrik.Carlqvist@deadspam.com> wrote:
> 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.

Systemd was concieved and created by a developer who, as it turns out, 
was a closet micro-softie.  He now actually works for Microsoft, so we 
eventually learned where his true allegiances lay.  It is the "do it 
the windows way" init system for Linux, because Lennart Poettering 
apparently was always a microsoft plant all along.

[toc] | [prev] | [next] | [standalone]


#35732

FromMike Small <smallm@panix.com>
Date2026-08-15 00:15 -0400
Message-ID<jpkecg0j9y1.fsf@panix5.panix.com>
In reply to#35729
Henrik Carlqvist <Henrik.Carlqvist@deadspam.com> writes:

> 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"."

That is certainly part of it. But for me -- my personal preference I
mean -- as much of an annoyance is the replacement of what was "just a
matter of coding" -- in terms of your system start being decided by
whatever is in your init scripts -- with configuration files. So they
have this rigid set of files in "ini" format instead of a true
programming language. Maybe bourne shell (plus extensions) isn't the
finest programming language out there, but any programming language is
better than a configuration language designed for non-programming
sysadmins.

Falling out of that decision they get this endless proliferation of
keywords and concepts (wants, upholds, requires, requisite, bindsto,
wants-with-chocolate-sprinkles-on-top, passive-aggressively-suggests,
etc. etc.).

As a consequence of this view I don't share the common opinion that systemd
wouldn't be that bad if it had only confined itself to replacing init.

I have a similar beef with udevd (and eudevd), its use of "udev rules"
in place of a proper embedded programming language.  Now, I don't
dislike so called little languages, purpose drawn languages like expect
or awk. But udev-rule format can't hold a candle to those. It's just an
awkward configuration format and with a nasty feature of sharing some
special characters with bourne shell in unintuitive and error prone
ways.

Regards,
Mike Sm.

[toc] | [prev] | [next] | [standalone]


#35734

FromHenrik Carlqvist <Henrik.Carlqvist@deadspam.com>
Date2026-08-16 11:06 +0000
Message-ID<115s5j0$39mhv$1@dont-email.me>
In reply to#35732
On Sat, 15 Aug 2026 00:15:34 -0400, Mike Small wrote:
> I have a similar beef with udevd (and eudevd), its use of "udev rules"
> in place of a proper embedded programming language

Fortunately, it is easy to write an udev rule which calls a real script 
or program.

One such example from my /etc/udev/rules.d/90-local.rules:

-8<----------------------------------
# Serial ports
KERNEL=="ttyS[0-9]*", MODE="0666"
KERNEL=="ttyUSB[0-9]*", MODE="0666"
KERNEL=="ttyACM[0-9]*", MODE="0666", RUN+="/bin/stty -F %p -echo raw"
-8<----------------------------------

regards Henrik

[toc] | [prev] | [standalone]


Back to top | Article view | alt.os.linux.slackware


csiph-web