Linux-Dämonen rufen und loswerden: Upstart versus runit

Wer bereits Fedora Core 10 (FC10) installiert hat, wird vielleicht festgestellt haben, dass diese Version mit Ubuntus Upstart ausgestattet ist, einem Alternativsystem zu SysV init. Daher hat die Redaktion die Gelegenheit genutzt, Upstart einmal etwas genauer unter die Lupe zu nehmen und herauszufinden, wie es sich im Vergleich zu runit und SysV init schlägt. Zumal einige vorhandene, beziehungsweise geplante Funktionen von Upstart genau die Zwecke erfüllen sollen, mit denen runit und seine Überwachungsfunktion von gestarteten Diensten (Service Supervision) einst die Herzen eroberten.

Canonical beschreibt Upstart als SysV init-Alternative auf Ereignisbasis, die sich während des Bootvorgangs um das Starten von Tasks und Diensten kümmert, beim Herunterfahren sämtliche Dienste und Tasks beendet, und die sämtliche gestarteten Dienste überwacht, solange das System am Laufen ist. Der Benutzer kann dabei nicht feststellen, dass das System irgendwie anders bootet.

Die althergebrachte Datei /etc/inittab gibt es zwar noch immer, aber sie bestimmt lediglich den Standard-Runlevel. Um alles andere kümmern sich die Konfigurationsdateien im Verzeichnis /etc/event.d/ (Fedora) und /etc/init/jobs.d/ (Ubuntu). Die Dateien ersetzen einige Zeilen in /etc/inittab. So enthält zum Beispiel die Datei /etc/event.d/tty1:


Im Vergleich dazu würde eine entsprechende Zeile in /etc/inittab auf einem SysV init-System folgendermaßen aussehen:


Der Inhalt ist in beiden Fällen der gleiche: Wenn tty1 stirbt, soll es neu gestartet werden. Wie man sehen kann, ist das mit SysV init kein Problem:


Anhand der abweichenden PID lässt sich erkennen, dass init den Dienst neu gestartet hat.

Leider ist Upstart in FC10 nicht ganz so erfolgreich:


Wenn man den Dienst auf FC10 killt, dann wird er nicht neu gestartet, und das ist ein erheblicher Rückschritt. In FC10 wird die Upstart-Version 0.3.9 verwendet, doch mittlerweile ist es bereits bei Version 0.5.0 angelangt. Warum FC10 bei der Veröffentlichung aber mit Version 0.3.9 ausgestattet wurde, obwohl es bereits die Version 0.5.0 gab, ist nicht wirklich nachvollziehbar. Wie dem auch sei – wer mit FC10 arbeitet und erwartet, dass das mit dem Neustarten von Diensten genauso gut funktioniert wie bislang, sollte sich schon einmal auf ein böses Erwachen gefasst machen.

Zu den angenehmen Features eines Dienstüberwachungssystems zählt das Neustarten von Diensten, wenn diese abstürzen oder unwillentlich beendet werden. Wer bereits einmal aus der Ferne den sshd-Dienst auf einem Remote-System gekillt und sich dann ausgeloggt hat, weiß genau, was gemeint ist. FC10 nutzt die Überwachungsfunktionen von Upstart leider nicht über mingetty hinaus, und das ist wirklich eine Schande (natürlich nur unter der Voraussetzung, dass es ordentlich funktionieren würde). Mit runit auf Annvix wurde jeder „daemonisierte“ Systemdienst überwacht, das heißt ein Dienst konnte gekillt werden oder abstürzen, und binnen Sekunden war er wieder da. Das dürften vor allem jene zu schätzen wissen, die mit Remote-Systemen oder Remote-Servern arbeiten.

Es sieht danach aus, als würde Upstart auch irgendwann einmal mit zeitbasierten Ereignissen umgehen können, wodurch man auf Zeitsteuerungssysteme wie cron, at und andere verzichten könnte. Damit läge es dann auch mit dem launchd-System auf OS X auf Augenhöhe, das sowohl mit Diensten als auch mit Ereignissen umgehen kann. Zukünftige Versionen von Upstart könnten sicherlich ganz praktisch werden, aber momentan scheint – zumindest was Fedora Core 10 anbelangt – runit noch die bessere Lösung für die Überwachung von Diensten zu sein.

ZDNet.de Redaktion

Recent Posts

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

16 Stunden ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

17 Stunden ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

1 Tag ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

2 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

2 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

2 Tagen ago