Auch Initng arbeitet mit eigenen Boot-skripten. Shellcode kommt jedoch nicht zum Einsatz, zur Auswahl stehen ein XML-Dialekt und ein proprietäres Ascii-Format mit eigenem Befehlsvorrat. Mithin sind auch hier sämtliche Skripte neu anzulegen. Allerdings wird das Programm mit einem umfangreichen Set vorgefertigter Beispiele geliefert, sodass in vielen Fällen faktisch nur noch Anpassungen nötig sind.
Minit
Minit [9] von Felix von Leitner ist wie Runit ein entfernter Abkömmling der Daemontools [3]. Dagegen erinnern die explizite Beschreibung der Abhängigkeiten durch ein Ascii-File »depends« sowie die Links- und Parameterfiles in Service-Directories eher an Cinit. (Dessen Autor übrigens auch Autor eines Minit-Howto ist, [10].) Daneben ist Minit auf sparsamen Ressourcenverbrauch optimiert und verwendet die Dietlibc.
Eine eigene Lösung hat es auch für das Problem der Daemons parat, die sich in den Hintergrund verlagern, ihren Vordergrundprozess beenden und sich damit der Überwachung entziehen. Es kontrolliert sie mit einem Tool namens »pidfilehack«, dass sich der Prozess-ID bedient. Daneben existiert der Servicemanager »msvc« mit den üblichen Funktionen zum Starten, Beenden, Benachrichtigen und automatischen Neustarten.
Jinit
Jinit [7] setzt andere Akzente. Angeregt von Richard Goochs Bootskripten [8] zählt es eher zur traditionellen Fraktion. Allerdings verwendet es eine eigene Inittab mit erweiterten Möglichkeiten, die auf Verzeichnisse mit eigenen Startskripten verweist. Diese Skripte berücksichtigen über das Kommando »need« untereinander bestehende Abhängigkeiten, und zwar nicht nur beim Booten. So hätte etwa das Herunterfahren eines Netzwerkinterface zur Folge, das Jinit zuvor alle von ihm abgängigen Netzwerkdienste automatisch beendet.

Abbildung 4: Das Bootchart einer komplexeren Konfiguration mit Initng. Gut zu sehen ist, wie gruppenweise Dienste starten, nachdem ihre Abhängigkeiten erfüllt sind.
Jinit kann auch System-V-Skripte benutzen, was den Umstieg erleichtert. Dadurch ist es, wie sein Autor John Fremlin dem Linux-Magazin erklärt, “extrem leicht einzusetzen. So müssen im ersten Schritt nur die Einträge in der Inittab geändert werden. Später kann man die Bootskripte anpassen, sodass sie Abhängigkeiten beachten”. Eine weitere Besonderheit von Jinit ist die extensive Kommunikation über System-V-Message-Queues, die es beim Booten vom Filesystem unabhängig machen.
Wertung
Eine gewisse Experimentierfreude und einen verregneten Feierabend braucht es schon, um dem Rechner Beine zu machen. Lohn der Mühe ist eine maximal um knapp die Hälfte verkürzte Startphase. Der Gewinn ist umso größer, je mehr Dienste parallel starten. Bei dem eher minimalistischen LAMP-System, mit dem die Tester die meisten Boot-Turbos ausprobiert haben, beanspruchten das Laden des Kernels sowie die schlecht verkürzbare Hardware-Initialisierung bereits gut die Hälfte der Startzeit. Entsprechend lagen die Einsparungen nur bei maximal 20 Prozent. Zusätzlich zur Zeitersparnis bekommt man jedoch in vielen Fällen eine verbesserte Verwaltung der Abhängigkeiten und einen Dienstemonitor gratis hinzu.
Gerade dann gibt es aber auch eine zusätzliche Fußangel, denn die Servicewächter reagieren meist auf das vorzeitige Ende des von ihnen gestarteten Prozesses. Eine Strategie, die viele Daemons unabsichtlich torpedieren, indem sie sich selbst beenden, nachdem sie Kindprozesse gezeugt haben.
Das führt unter dem Regime eines solchen Monitors zu wiederholten Neustarts des Daemon in einer Endlosschleife. Abhilfe schaffen die meist vorhandenen Kommandozeilenoptionen, die den Daemon vom Selbstmord abhalten und zum Dienst im Vordergrund verpflichten (»httpd -D NO_DETACH«, »syslogd -n«, »sshd -D« und so weiter).





