[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Feedback on Ted T'so's initscripts proposal



* Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> A related interesting question is what happens when a set of packages cause
> a circular order dependancy. My immediate reaction was 'we say tough' but
> on reflection it isnt a viable answer
> 
> What may be a valid ordering on Red Hat and Debian might suddenely not turn 
> out to be on Caldera. In addition installing any future package requires
> recomputing the entire dependancy graph and may cause loops. Worse removing
> a package might introduce a loop if it has to do things in its cleanup to
> remove hooks

Do we have to stay SysV'ish down to every detail? There is a slightly
different approach to this, which also uses an init.d directory for the
actual scripts, but not that symlink-dance for the runlevels. It
uses a simple configuration file instead, which avoids some
trouble. That's somewhat radical, but it seems to have its advantages.

Here's a short description of that thing:

--8<------------------------schnipp------------------------->8---

From: Winfried Truemper <truemper@guug.de>
Newsgroups: comp.os.linux.announce
Subject: New version of r2d2 - startup concept
Message-ID: <pycola.935088939.12326@revelation.bak.helsinki.fi>


r2d2 is a startup-concept for Unix-like operating systems.
The design goal for r2d2 was to be a lot easier and more
flexible than existing startup concepts (BSD, SysV), while
staying fully compatible with known init-scripts. 

Debian provides r2d2 as an alternative to the rc-script using
the package-pseudonym file-rc. So Debian users have the option
to use a somewhat cleaner startup setup, while staying fully
compatible with the default startup concept of their distribution.
The file /etc/runlevel.conf used by that version of r2d2 looks
like this:

# Format:
# <sort> <off-> <on-levels>     <command>
05      -       1               /etc/init.d/single
05      -       S               /etc/init.d/keymaps.sh
10      -       2,3,4,5         /etc/init.d/sysklogd

r2d2 just puts content where it belongs: into a configuration file (and
not into the filenames of 500 symbolic links). In other words: the fact
that the SysV way stores content in filenames should be considered a
perverse geekish joke, accidentally taken for serious after a while.

A quick complexity analysis reveals, that even other part of the SysV
startup concept can be removed without loosing anything but complexity.
For some very ancient slides on this, please see
http://www.guug.de/~winni/linux/guug/ffg_98.ps.gz.

There is really no point in having dozens of shell-scripts calling each
other to fullfill a basically very simple task: start a list of
applications (daemons, utitlities) upon startup or shutdown (or at other
points in time). Its easy and r2d2 tries to keep it easy (KISS).
Please spare arguments like "but we must stay compatible to unix", unless
you can show me a standard to be found on most Unix-systems or at least
one for Linux-distributions (hint: just save time by reading standard
books like "Essential System Administration" to learn on not less than 15
pages, that such a standard does not exists). r2d2 is "only" compatible to
init-scripts of the SysV-style, because there is nothing more to be
compatible with.

The final goal of r2d2 is to be integrated into init and have only one
configuration file left: /etc/init.conf. And maybe a few of those old
init-scripts survive for compatibility reasons, but thats all. For a more
detailed discussion, read http://www.guug.de/lists/r2d2/msg00012.html.

[...]
The next step in evolution would be to migrate the features from r2d2 into
init itself and replace /etc/inittab with /etc/init.conf. There is nothing
exotic or dangerous about it. However, I'm currently missing the time to
do that myself, but probably somebody else is interested into.

To subscribe to the mailinglist, visit http://www.guug.de/lists/
r2d2 resides on ftp://ftp.guug.de/pub/members/truemper/r2d2/

Regards
- -Winfried

--8<------------------------schnapp------------------------->8---


        Jochem

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!


Reply to: