Gerade einmal drei Tage, nachdem Debian bekannt gegeben hat systemd als init-Dienst zu nutzen, kündigte nun auch Ubuntu die Umstellung auf den Daemon an. Das in zwei Monaten erscheinende Ubuntu 14.04 LTS soll von dieser Entscheidung noch nicht betroffen sein, da die Umstellung erst erfolgen soll, wenn systemd genauso gut arbeitet wie sein Vorgänger Upstart. Zum Zeitplan der Umsetzung äußerte sich Shuttleworth wie folgt: „Es werde zweifellos Zeit brauchen, um die Stabilität und Abdeckung von upstart zu erreichen, man werde jedoch beim Ubuntu Tech Board Pläne und Positionen für den Wechsel ausarbeiten“. Zuerst soll systemd, nachdem es in Debian implementiert ist, für Entwickler zugänglich gemacht werden. Danach wird der Init-Dienst in die Distribution eingepflegt. Wann genau das passieren wird, ist allerdings noch offen.
Mark Shuttleworth bedankte sich bei den vielen engagierten Mitarbeitern des Projekts Upstart. In seiner Ankündigung ließ er allerdings offen, wie es mit dem Projekt weitergehen wird, sobald die Umstellung erfolgt ist.
Der systemd-Hauptentwickler Lennart Poettering verkündete auf Google+, dass er sich über die Entscheidung sehr freue, aber auch die Kritik an dieser Umstellung nachvollziehen kann.
Gründe für die Umstellung¶
Im Juni vergangenen Jahres äußerte sich Shuttleworth in einer Fragestunde anlässlich der Ubuntu Open Week, dass man Upstart beibehalten, die Diskussion in der Debian-Gemeinschaft aber aufmerksam verfolgen werde. Daran hat er sich augenscheinlich gehalten.
Die Abstimmung über den künftigen Init-Standard in Debian habe diese Frage nun auch für Ubuntu beantwortet. Da Ubuntu auf Debian aufbaut, ist die Nutzung eines einheitlichen init-Dienstes eine Vereinfachung gegenüber dem Festhalten an Upstart. Dies betrifft nicht nur die Pflege dieser Komponente sondern auch anderer Software-Pakete, deren systemd-Konfigurationen bzw Init- oder Upstart-Skripte dauerhaft gepflegt werden müssten. Weiterhin erhofft man sich mit systemd einen noch schnelleren Systemstart.
Konflikt bei Debian¶
Schon im Oktober 2013 wurde auf der Mailingliste der Debian-Entwickler diskutiert, ob es nun zum Einsatz des Init-Dienstes kommen soll.
Die Umstellung auf systemd ist umstritten, bei der Abstimmung unter den Debian-Entwicklern über die Umstellung kam es unter den Stimmberechtigten zu größeren Auseinandersetzungen. Nach dem aktuellen Zeitplan soll systemd in Debian 8 „Jessie" zum Einsatz kommen. Allerdings gibt es für diese Version noch keinen Erscheinungstermin. Die bisher getroffene Entscheidung ist jedoch noch nicht bindend, da sie durch eine Resolution von mindestens sechs Debian-Entwickler noch rückgängig gemacht werden kann.
Auch außerhalb von Debian gab es unterschiedliche Meinungen zur Machbarkeit der Umstellung, diese fielen allerdings moderater aus.
Upstart und systemd in Kürze¶
Upstart wurde ab 2006 entwickelt, um den bisherigen init-Daemon unter Linux zu ersetzen und das Starten und Beenden von Systemprozessen flexibler zu gestalten. Während System-V-Init Dienste in einer vorgegebenen Reihenfolge startet, kann Upstart Abhängigkeiten der Dienste und Prozesse berücksichtigen und beispielsweise mit dem Start des Webservers so lange warten, bis die notwendigen Netzwerkdienste verfügbar sind.
2010 begann 🇬🇧 Lennart Poettering mit der Entwicklung von systemd. Hier können Dienste zu großen Teil zeitgleich gestartet werden, wobei systemd an einen noch nicht verfügbaren Prozess gerichtete Kommunikation so lange zwischenspeichert, bis dieser sie entgegennehmen kann. Das dahinterliegende Prinzip, Sockets zur Kommunikation durch systemd zu erstellen und bei Bedarf an andere Prozesse zu übergeben, ermöglicht beispielsweise auch, während des Boot-Vorgangs Log-Meldungen an /dev/log in das Bootlog zu schreiben und später in das Syslog, sobald dessen Dienst verfügbar ist. Konfiguriert wird systemd jedoch nicht über die von Init und Upstart bekannten Shell-Skripte, sondern mittels Konfigurationsdateien.
Quellen und weitere Informationen:
Ikhaya-Artikel zu Upstart: 3, 2, 1, Start
Ikhaya-Artikel zu systemd: systemd – Das Init-System
heise open: Das Init-System Systemd, Teil 1
heise open: Das Init-System Systemd, Teil 2
Vielen Dank an Das Auge und Thorsten Reinbold für die eingesandten Artikel!