ubuntuusers.de

3, 2, 1, Start

software.png

In den direkten Kontakt damit kommen nur wenige Anwender und doch wirkt sich kaum ein Prozess so grundlegend auf das System aus wie init. Mit neuen Ansätzen trat Upstart an, um seinen Teil zu einem flotten Linux-System beizutragen.

Das Alter stand System-V-Init schon ins Gesicht geschrieben, als Scott James Remnant begann, einen Nachfolger zu entwickeln. Schlanker sollte er sein, Prozesse nach Möglichkeit parallel starten und dabei eventuelle Abhängigkeiten berücksichtigen. Das Ergebnis war Upstart, das bereits in Ubuntu 6.10 seinen Dienst aufgenommen hatte. Nun, viereinhalb Jahre später, wurde Upstart in Version 1.0 veröffentlicht.

Upstart in Kürze

Upstart/upstart_logo.png
Upstart Logo

Upstart nutzt Skript-ähnliche Konfigurationsdateien mit denen das Start-/Stop-Verhalten von Diensten festgelegt wird. Dabei kann es auch die alten Init-Skripte auswerten und Dienste mit ihrer Hilfe starten. Im Gegensatz zu Init arbeitet Upstart jedoch eventbasiert. Das heißt, dass jedem Dienst in seiner Konfigurationsdatei Events zugeordnet sind, bei deren Eintreten der Dienst startet. Der SSH-Server zum Beispiel würde erst starten, wenn der Netzwerkdienst zur Verfügung steht. Reagiert ein Dienst auf mehrere Ereignisse, so können diese mittels UND- und ODER-Verknüpfungen logisch ausgewertet werden, sodass zum Beispiel ein VNC-Server erst dann geladen wird, wenn Netzwerk UND grafische Oberfläche schon gestartet wurden.

Im Gegensatz dazu starten System-V-Init-Skripte in einer festen Reihenfolge, eines nach dem anderen, nur sortiert durch ihren Dateinamen und den Runlevel, in welchem sie benötigt werden. Das führt auch zu einer gewissen Fehleranfälligkeit, zum Beispiel wenn ein Skript in einem Runlevel gestartet wird, in dem ein vorausgesetzter Dienst noch nicht läuft. Diese Init-Skripte startet auch Upstart in gleicher Art und Weise, weshalb sich nur eine Verbesserung des Startverhaltens eines Systems erreichen lässt, wenn möglichst viele Dienste die Start-Methode von Upstart und damit keine Init-Skripte nutzen.

Version 1.0

Scott James Remnant, der mittlerweile von Canonical zu Google wechselte, meinte zur Veröffentlichung, diese Version 1.0 würde eher die Erwartungen der Anwender erfüllen. Diese würden bei einer Version 1.0 Stabilität erwarten, während Entwickler darin eine Version sehen würden, die alle gewünschten Funktionen beinhaltet. Tatsächlich basiert Upstart 1.0 auf dem Zweig 0.6, der bereits in Ubuntu 10.04 LTS zum Einsatz kommt und vor allem viele Korrekturen mitbringt.

Upstart ist jedoch nicht das einzige Programm in der Riege derer, die System-V-Init vom Thron zu stoßen bestrebt sind. Das jüngste Projekt aus diesem Umfeld ist systemd 🇬🇧 , das von Red-Hat-Entwickler Lennart Poettering initiiert wurde und neue Ansätze verwendet, aber auch bereits erprobte Methoden wie beispielsweise von Mac OS X einbezieht.

Quelle: upstart.at 🇬🇧