AA_glue_cadaverhan_sxc_603033.jpg

© Cadaverhan, sxc.hu

Starker Kleber

Systemd als Schaltzentrale für das Linux-System

20.03.2014
Systemd polarisiert die Community – und hat zugleich das Zeug dazu, alte Gräben zu schließen und eine einheitliche Basis für Linux zu bilden.

Systemd ist das Ergebnis der Arbeit einer Vielzahl von Entwicklern. Geht es aber um das Gesicht, dass die Software in der Öffentlichkeit repräsentiert, führt kaum ein Weg an Lennart Poettering vorbei. Der streitbare Entwickler hat auf seiner To-do-Liste bereits einige wichtige Projekte abgehakt, darunter Avahi und das Soundsystem Pulseaudio. Mit Systemd arbeitet er nun seit 2010 daran, zentrale Dienste auf eine moderne, einheitliche Basis zu stellen – ausgehend von einem neuen Ansatz für das Init-System.

Dabei schreckt Poettering vor unbequemen Entscheidungen nicht zurück, was ihm den Ruf eintrug, diktatorische Methoden einzusetzen. Die Entscheidung, Systemd nur für Linux zu entwickeln, brachte ihm zusätzlich Kritik, Häme und Beschimpfungen ein. Für ihn hat die Entscheidung aber klar nachvollziehbare Gründe.

Poettering tritt neben seiner Arbeit an Systemd für eine Vereinheitlichung des Linux-Desktops über Distributionen hinweg ein. Sein neuestes Projekt, das er unter anderem mit Kernel-Guru Greg Kroah-Hartman verfolgt, befasst sich damit, das Nachrichtensystem Dbus als Kdbus im Kernel zu integrieren. Auf seine Ankündigung bei Google Plus [1], dass Systemd zusammen mit Kdbus und allen Userspace-Tools in Fedora einwandfrei startet und somit ein weiterer Meilenstein erreicht sei, hagelte es allerdings wieder postwendend harsche Kritik.

Solche Anfeindungen haben den Red-Hat-Entwickler aber noch nie vom Kurs abgebracht (siehe Kasten "Lennart Poettering im Interview"). Er trägt gern das Herz auf der Zunge (Abbildung 1) und ist ein Freidenker mit genug Rückgrat und Rückhalt, um seine Visionen durchzusetzen und ein paar alte Linux-Zöpfe abzuschneiden.

Abbildung 1: Mit einem T-Shirt zeigte Lennart Poettering auf der FOSDEM 2014, was er von den Aussprüchen von Mark Shuttleworth hält.

Lennart Poettering im Interview

LU: Was glaubst Du, warum Systemd so kritisch betrachtet wird, obwohl es konsequenter umgesetzt ist, als so manch andere Software, die wir täglich benutzen?

LP: Systemd wird zwar kontrovers diskutiert, aber insgesamt fällt das Urteil inzwischen klar häufiger positiv als negativ aus. Die jüngste Entscheidung von Debian für Systemd macht deutlich, dass nicht nur einzelne Distributionen sich für den Ansatz entscheiden, sondern die klare Mehrheit aller größeren Distributionen.

Freilich gibt es eine beträchtliche Minderheit in der Community, die Systemd kritisiert oder gleich ganz ablehnt. Die Gründe dafür fallen vielfältig aus. Eine große Rolle spielt sicherlich, dass das Konzept schlicht alte Zöpfe abschneidet und eine große Veränderung zum klassischen Unix-System darstellt.

Eine weitere Ursache liegt wohl in der Tatsache, dass Systemd nicht nur den eigentlichen Boot-Prozess optimiert, sondern gleich einen großen Teil der Low-Level-Komponenten des Systems vereinheitlicht.

Wieder andere in der Community lehnen das Ganze aus wirtschaftlichen Gesichtspunkten ab. So hat etwa Canonical viel Aufwand in die Entwicklung von Upstart gesteckt und war daher verständlicherweise sehr interessiert, dem eigenen Projekt zum Erfolg zu verhelfen.

LU: Debian hat sich nach viel Zank um Befindlichkeiten für Systemd entschieden. Siehst Du die letzten Monate als demokratischen Prozess oder einfach als den Beweis für das Fehlen eines wohlmeinenden Diktators?

LP: Die verschiedenen Distributionen organisieren sich unterschiedlich: Debian setzt auf einen demokratischen Prozess, Ubuntu dagegen auf das Konzept eines "wohlmeinenden Diktators". Fedora versucht etwas in der Mitte dazwischen, eine Art Technokratie.

Sicherlich waren die Debatten zu diesem Thema in Debian häufig unerfreulich. Aber nach all den chaotischen Diskussionen bleibt nur, festzustellen, dass genau dies den demokratischen Prozess ausmacht und dass das demokratische System durchaus funktioniert.

Der Vorgang gestaltet sich langwierig, und manchmal macht es sicherlich keinen Spaß, aber das ist der Deal: Will man ein universelles Betriebssystem schaffen, bedeutet das, dass man besonders viele Leute einbeziehen muss, was zwangsläufig für umfangreichere Diskussionen und eine größere Bandbreite der Beiträge sorgt – im Positiven wie im Negativen.

LU: Systemd soll weiter ins Userland vordringen, und du möchtest Prozesse in den Desktop-Umgebungen mit den gleichen Mechanismen starten wie das System selbst. Kocht Systemd bald sogar den Kaffee?

LP: Was genau zu den Aufgaben von Systemd gehört und was nicht, darüber lässt sich trefflich streiten. Es gibt noch einige Module, die wir noch integrieren. Generell gilt: Infrage kommen Komponenten des sogenannten Plumbing Layers – also weder Kernel und noch Oberfläche, sondern mehr die "Klebe" dazwischen.

Für uns zählt immer die allgemeine Verwendbarkeit, wir wollen also eine generische Lösung, nie eine spezifische. Systemd ist damit niemals ein Produkt, sondern nur etwas, woraus andere Entwickler Produkte bauen. Es sollte im besten Fall dazu dienen, das System zusammenzuhalten, aber mit dem Nutzer nie in Kontakt treten.

Um auf den Kaffee zurückzukommen: Nach dieser Definition ist Systemd sicherlich eine brauchbare Komponente, neben vielen anderen, um eine internetfähige Kaffeemaschine zu bauen – es kocht aber selbst nie den Kaffee. Das wäre viel zu speziell und nicht mehr die "Klebe", welche die Kaffeemaschine zusammenhält. Ich selbst bevorzuge ohnehin Club Mate als Koffeinquelle. Daher liegt mir nichts ferner, als Kaffeemaschinen-Funktionen in Systemd einzubauen.

LU: Nicht nur deine Software, sondern auch deine Person ist in der Szene umstritten. Du gehst damit recht lässig um. Verstehst du, warum so viele auch dich persönlich kritisieren, und trifft Dich das?

LP: Wer versucht, eine zentrale Komponente des Linux-Ökosystems auszutauschen, erntet damit natürlich viel Kritik, das war unvermeidlich. Die Community hat nun einmal starke Überzeugungen, und wer widerspricht, gerät leicht zum Buhmann.

Systemd war nicht das erste Projekt, das versucht hat, das Boot-System von Linux umzukrempeln – es gab bereits Dutzende. Wir haben uns schon häufig selbst gefragt, warum es uns gelungen ist, unseren Ansatz durchzusetzen. Wir würden uns wünschen, dass das vor allem an technischen Gründen liegt. Zumindest in unseren Augen stellt Systemd definitiv das bessere System dar.

Eine große Rolle spielt aber sicher auch, wie wir mit dem Druck aus der Community umzugehen gelernt haben. Meinen Mitstreitern und mir ist wohl besser als den meisten anderen gelungen, unseren Humor zu behalten und klare Überzeugungen zu entwickeln, und das mit langem Atem.

Die Linux-Community führt sich manchmal grässlich auf. Will man etwas Zentrales durchsetzen, dann darf man nicht zu zart besaitet sein. Es wäre sicherlich schön, wenn das nicht so wäre!

Zu den Wurzeln

Wer sich mit dem Init-System beschäftigt, erkennt sehr schnell, warum die Arbeit an dieser zentralen Komponente so viel Wirbel erzeugt. Der Begriff kommt von "Initiieren" und umfasst bei Unix-ähnlichen Betriebssystemen den Start des Systems, aber auch das geordnete Herunterfahren.

Init ist der erste Prozess, den der Kernel erzeugt, und er startet alle anderen als Kindprozesse. Er erhält deshalb die Prozess-ID 1 (PID 1). Zu den Aufgaben von Init zählt im wesentlichen das Starten aller nötigen Dienste sowie das Einhängen der Dateisysteme und das Einrichten des Netzwerks.

Das bei Linux und anderen Unix-Abkömmlingen seit den 90er-Jahren genutzte Init-System Sysvinit [2] stammt aus dem Jahr 1988, als das amerikanische Unternehmen AT&T für sein Betriebssystem System V in Version R4 einen Startmechanismus brauchte.

Im Jahr 2004 ersetzte Solaris Sysvinit durch den Nachfolger Service Management Facility (SMF) [3], Mac OS X folgte 2005 mit Launchd [4]. Canonical nutzt seit 2007 das im eigenen Haus auf der Basis von Sysvinit-Code entwickelte Upstart [5]. Bei Gentoos FreeBSD-Ableger kommt seit 2007 als Alternative OpenRC [6] zum Einsatz.

Aus der Not geboren

Systemd stammt in der Hauptsache aus der Feder der beiden bei Red Hat angestellten Entwickler Lennart Poettering und Kai Sievers. Bevor die beiden ab 2007 darangingen, das Init-System unter Linux zu renovieren, schauten sie sich sowohl bei Launchd als auch bei SMF genauer um, da diese Init-Systeme im Gegensatz zum statischen Sysvinit die Möglichkeit bieten, Prozesse parallel zu starten.

Da auch Upstart diese Fähigkeit besitzt, war die ursprüngliche Idee der Entwickler, Ubuntus Init-System zu erweitern. Juristische Gründe, die mit Canonicals Contributor License Agreement (CLA) [7] zu tun haben, verhinderten das Vorhaben, da weder Poettering noch Sievers bereit waren, diese Vereinbarung zu unterzeichnen.

Somit wurde Systemd aus der Not geboren. Zwei grundsätzliche Entscheidungen von damals erregen bis heute die Gemüter: Systemd wurde bewusst kompromisslos nur auf Linux ausgelegt. Systeme mit anderen Kerneln wie BSD oder Hurd bleiben erst einmal außen vor; eine Portierung nach BSD ist zwar möglich, aber aufwendig.

Darüber hinaus kratzt Systemd am alten Unix-Prinzip "one tool for one job", indem es einige der Jobs ziemlich eng miteinander verzahnt. In Zukunft mag sich das etwas lockern, sodass Funktionen einzeln zur Nutzung bereitstehen, wie das Ubuntu jetzt bereits bei Upstart in Verbindung mit Logind tut.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 09/2015: Paketverwaltung

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 2 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Scanner EPSON Perfection V 300 photo und VueScan
Roland Welcker, 19.08.2015 09:04, 1 Antworten
Verehrte Linux-Freunde, ich habe VueScan in /usr/local/src/vuex_3295/VueScan installiert, dazu d...
Empfehlung gesucht Welche Dist als Wirt für VM ?
Roland Fischer, 31.07.2015 20:53, 2 Antworten
Wer kann mir Empfehlungen geben welche Distribution gut geeignet ist als Wirt für eine VM für Win...
Plugins bei OPERA - Linux Mint 17.1
Christoph-J. Walter, 23.07.2015 08:32, 3 Antworten
Beim Versuch Video-Sequenzen an zu schauen kommt die Meldung -Plug-ins und Shockwave abgestürzt-....
Wird Windows 10 update/upgrade mein Grub zerstören ?
daniel s, 22.07.2015 08:31, 7 Antworten
oder rührt Windows den Bootloader nicht an? das ist auch alles was Google mir nicht beantw...
Z FUER Y UND ANDERE EINGABEFEHLER AUF DER TASTATUR
heide marie voigt, 10.07.2015 13:53, 2 Antworten
BISHER konnte ich fehlerfrei schreiben ... nun ist einiges drucheinander geraten ... ich war bei...