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