refactoring rc.sysinit

Leszek Matok Lam at Lam.pl
Fri Feb 11 01:28:42 UTC 2005


Dnia 10-02-2005, czw o godzinie 17:20 -0500, Bill Nottingham napisał(a):
> Thinking about it some more, I don't see *that* much need for modularizing
> rc.sysinit;
> As stated before, I don't see the need for the 'boot' prefix.
Think about uptimed. It needs to create unique boot id upon every boot.
Then it can be started and stopped many times using service uptimed
stop/start, changing runlevels (upon bootup, too), playing with kill
etc.

The Red Hat way of doing this sort of things was always something like
if [ -x /etc/rc.d/init.d/uptimed -a -f /etc/sysconfig/uptimed ]
then
	/etc/rc.d/init.d/uptimed createbootid
fi
in rc.sysinit, which will do the job once per machine boot only if the
package is installed and/or configured.
This creates some very small overhead (checks for a significant number
of files which are or aren't there and we know the state anyhow) and
doesn't leave room for new third-party packages (like uptimed). Having
rcS.d would change that.

The "boot." prefix seems ugly. It would be better to just have scripts
from rcS.d be run with "boot" instead of "start" as a parameter. This
way one init.d script belonging to one package could be linked to rcS.d
and rc5.d and distinguish how it was called by this parameter. And this
is the kind of functionality I need for uptimed - "start" being called
any number of times when the system is running, but certain operations
run only once.

Apologies for my English, I can only defend myself by saying it's really
late in my TZ :)

Lam




More information about the fedora-devel-list mailing list