[Exherbo-dev] Genesis feedback

Bryan Østergaard kloeri at exherbo.org
Thu May 22 23:13:52 BST 2008

Hi all.

A few days before announcing Exherbo and related projects I asked a
friend of mine (Tais Hansen) for some feedback on our initsystem
plans. Generally speaking he was quite happy with all the features and
ideas we've already come up with but he did add several interesting
ideas of his own :)

In no particular order:
- handling crashed services / run away services is very important - it
can be done using daemontools but proper support in Genesis will be
much nicer
- network interface handling is tricky when you do bridging and
similar because of dependencies between interfaces (this is really a
problem that should be dealt with in initscripts etc. and doesn't need
any special support from Genesis the way I see it)
- restarting services after stopping and restarting a network
interface for example - services depending on that interface should
stop of course but it would be nice if they started again when
restarting the interface (we need to discuss this in further detail
and it probably needs some configuration options - I can definitely
see situations where you want the services started automatically again
and situations where you want to restart them manually or leave them
in a stopped state)
- timebased events (ala cron) might be a good idea but needs to be
per-user (Isn't this simply solved by user events.d scripts?)
- user event.d scripts should be allowed by root - possibly by adding
those users to a special group
- bootchart support or similar is important for some sysadmins so make
sure needed binaries are in /sbin instead of /usr/sbin
- wireless events might be tricky because of wpa_supplicant (we
probably need to take a good look at wpa_supplicant and events)
- hal might have some support for ACPI events
- logging service starts, stops, crashes and so on to syslog is important
- machine parsable rc-status equivalent
- make sure rc-status equivalent is human readable (simply right
aligning some stuff sucks on wide displays)
- service statistics, how long have $service been running, how many
times has it crashed and so on (can make it much easier to bouncing
services this way)
- provide service stats through snmp

Another friend (Sune Vuorela) mentioned that:
- Timebased events as a cron replacement can solve a dependency
problem (because we'd just use normal initscripts) that's normally
solved by "guessing" that a particular script runs in 20 minutes and
making sure a dependent script is run 40 minutes later to be sure the
first script have finished. We'd get dependencies for free which would
solve this particular problem.

One other situation where cron needs some kind of integration with the
initsystem is when you specify @reboot - without access to state
information from the initsystem cron can't know whether the system or
just cron itself restarted and might trigger scripts at unfortunate

That's all I have right now I think.

Bryan Østergaard

More information about the Exherbo-dev mailing list