Re: init-config has incorrect path for /etc/rc.d/rc [FIX]

Jakob Bohm via Cygwin <[email protected]>
Newsgroups gmane.os.cygwin
Organization WiseMo A/S
Message-ID <[email protected]>
On 14/01/2026 18:21, Bruce Jerrick via Cygwin wrote:
> On 1/13/26 22:09, matthew patton wrote:
>
>> or is it a case someone broke/removed the symlink from /etc/rc to 
>> /etc/rc.d/rc? Or more correctly /etc/rc -> /etc/init.d/rc.Removed, I 
>> believe, not broke. See below re executables in /etc .
>
>> /etc/rc dates back to SunOS v4 at least. Similarly /etc/init and 
>> /sbin/init.
> Long before any SunOS or BSD.  It was probably in Version 6 Unix .
> Way back then (as they say), /etc contained "system" executables, as 
> well as config files.
> The executables were eventually moved to /sbin .  I don't remember if 
> that happened in BSD or SunOS.  It was /sbin, then, not /usr/sbin, 
> because they had to be available before /usr was mounted (SunOS 
> commonly got a read-only /usr via NFS).
>
>> /etc/rc.d (and children like /etc/rc[0-6].d) is more of a "expression 
>> of state" directory.
> Agreed, but only in regard to /etc/rc.d/rc[0-6].d .
> (A better name for /etc/rc.d (or /etc/init.d) would be /etc/init, 
> since a ".d" suffix usually implies optional contents.)
.d indicates a Directory variant of the single file designated without 
the .d .
Forexample, /etc/crontab.d is a directory of additional crontab files 
beyond
the commonglobal entries in /etc/crontab.

Nothing in a sane /etc directory should represent state,as the directory
is supposed to be the core system-wide system config, not writableexcept
by admin action.  In particular, /etc should not be writable by automated
thingssuch as boot executables and daemons (that belongs in /run and
/var).  On a real system rather than a compatibility layer like Cygwin,
/etc will be part of the a small read-only root mount that gets remounted
r/w only during relevant sysadmin tasks such as installing and removing
packages.

/etc/default/ is supposed to be a directory of per package config 
overrides,
such aschoosing additional invocation options for daemons started by
scripts in /etc/init.d/ .

/etc/default/etc/inittab is clearly out of place.

>
>> The actual scripts are supposed to live in /etc/init.d/.
> See my "ideal" fix below.
> 'rc' and rc.sysinit are special cases -- they're called via
> /etc/inittab, and don't have to be added to the rc[0-6].d dirs.
> rc.local is also a special case -- it's source'd rc.sysinit .
>
>> Your local /etc/inittab should be FULL of references to 
>> /etc/init.d/rc like so:
>> ...
>> # System initialization
>> si::sysinit:/etc/init.d/rcS
>>
>> # Runlevel scriptsI woul
>> l0:0:wait:/etc/init.d/rc 0
>> l1:1:wait:/etc/init.d/rc 1
>> l2:2:wait:/etc/init.d/rc 2
>> l3:3:wait:/etc/init.d/rc 3
>> l4:4:wait:/etc/init.d/rc 4
>> l5:5:wait:/etc/init.d/rc 5
>> l6:6:wait:/etc/init.d/rc 6
> Not so in /etc/defaults/etc/inittab -- those subdirs are all "rc.d", 
> not init.d .  See my comments above re 'rc' being a special case.
>
>

Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.