ReplacementInitDiscussion

Revision 16 as of 2006-05-25 20:34:18

Clear message

Summary

Investigate alternatives to the SysV-style init we use in Ubuntu today, and discuss whether there is an advantage to replacing it with one of them.

Rationale

While sysvinit covers the basic job of starting and shutting down a system, it doesn't do much else and isn't that flexible. Alternative systems offer such features as service management, status discovery, parallel startup based on dependencies, better integration with other UNIX services such as cron, better user interface via dbus, etc.

A replacement system may also be better suited to starting and stopping services based on connected hardware, e.g. only running cups while there is a printer connected, etc.

As edgy is a time to try new and exciting technologies, now is the time to find out whether we can do better than sysvinit.

Use cases

Scope

Design

Implementation

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion

TimoAaltonen: Here is a chance to make sure that we don't diverge too much from the rest of the world. In that regard, I think launchd/smf/fcnewinit is the way to go, and if you take only the linux-world you can drop launchd/smf (besides, they should be reimplemented because of the licenses)... I don't know how much work it is to "do it ourselves", but doing that would make Ubuntu different from the rest (although Debian could adopt it, and thus most of the derivates).

Clast: I've been using InitNG for a while now and it is really coming along nicely. It seems to be the most flexible and innovativ. It's fast, easy to configure, extensible and always getting better. However, I'm not sure if this would be too big of a change, though.

Erast: I would vote for Sun's SMF. There are quite a few benefits, let me list them:

  • its most advanced available today, keep improving and already deployed on world class unixes all over;
  • it is possible to release resulted code under BSD-license which will be beneficial for all unix-flavours, not only Linux, hence will double its community;
  • you don't have to re-write it from scratch, instead just grub existing CDDL code mix it with your stuff under BSD-license conditions and release the product;
  • its already deployed on one of the Ubuntu derivatives - NexentaOS.

VilleLindholm: I like launchd, but I recently tried InitNG and it is impressive in its speed and simplicity. It also has the considerable advantage of working NOW... plus it's easy to convert existing init scripts, since it's basically the old init scripts with a dependency header at the top (plus some other stuff of course... but roughly speaking). There are Debian packages available (although a bit dated) and they work great... it's basically just a case of making Ubuntu-specific init scripts (called .i files in InitNG). My computer boots in about half the time now, and I'm very happy!

Newsforge have a promising article regarding Runit: http://os.newsforge.com/os/06/05/03/2126252.shtml?tid=2

What about the other alternatives mentioned at the Fedora site: monit, DMD? What about their concerns?


CategorySpec