Init-System: Systemd 209 bringt Networkd und Kdbus-Nutzung
Mit der aktuellen Version von Systemd lassen sich Netzwerkschnittstellen konfigurieren und KDBus verwenden. Die Veränderungen am Code sind sehr zahlreich, die Veröffentlichung steht aber noch nicht in Fedora Rawhide bereit.

Als eine "gewaltige neue Veröffentlichung" beschreibt Maintainer Lennart Poettering Systemd 209. Denn die Entwicklung nahm anders als üblich etwa fünf Monate in Anspruch, was für entsprechend mehr Code sorgte. Besonders stabil sei die Software dafür aber nicht, betont Poettering. Der Grund dafür ist vor allem die neu hinzugekommene Unterstützung für die Interprozesskommunikation KDBus, die noch nicht einmal stabil im Linux-Kernel integriert ist.
KDBus zu Testzwecken
Um die neue D-Bus-Implementierung zu testen, muss die Unterstützung dafür in Systemd über eine Kompilieroption explizit ausgewählt werden. Denn die beiden Bestandteile im Kernel und in Systemd selbst gelten noch als sehr experimentell, und die APIs werden sich vermutlich noch ändern. Sollten also nicht beide Versionen auf dem jeweils aktuellen Stand sein, könnte der Rechner eventuell nicht mehr starten.
Die Integration sorgt dafür, dass der Bus selbst aufgebaut und die Aktivierung an KDBus in einem neuen Unit-Type verkapselt wird. Zudem werden aus den alten Dateien zur Dienstaktivierung des bisherigen D-Bus-Daemons native Systemd-Unit- und Service-Typen erzeugt.
Um die Kompatibilität zu bewahren, haben die Entwickler einen Bus-Treiber erstellt, der die klassischen Bus-Treiber aufrufe auch für die Verwendung von KDBus erlaubt. Außer auf eventuelle technische Schwierigkeiten weist Poettering auch auf die fehlende Sicherheit von KDBus hin. Zwar sei das Starten eines Rechners damit bereits möglich, die Unterstützung von Sicherheitsrichtlinien zur Kommunikation fehlt jedoch noch völlig. Diese werde auch erst später zur Verfügung stehen.
Networkd kommt hinzu
Systemd besteht aus einer Vielzahl kleinerer Anwendungen, deren Funktionen weit über das Starten des Systems und Überwachen von Prozessen hinausgehen. Am bekanntesten davon sind wohl der Log-Dienst Journald oder auch Udev, das in Systemd integriert wurde. Zu dieser Sammlung neu hinzugekommen ist nun Networkd.
Damit lassen sich den Netzwerkschnittstellen statische und via DHCP auch dynamische Adressen zuweisen. Der Dienst unterstützt außerdem "Bridges, VLANs und Bonding". Derzeit ist es aber noch nicht möglich, die Schnittstellen interaktiv zu verändern. Empfohlen wird die Verwendung des Dienstes deshalb in "Initrd, Containern, Embedded- und Server-Systemen", falls eine "einfache, dennoch leistungsfähige Netzwerkkonfiguration" gewünscht ist.
APIs zusammengefasst
Darüber hinaus hat das Entwicklerteam die Bibliotheken aufgeräumt und die APIs von SD-Journal, SD-Login und SD-ID128 in Libsystemd integriert, da die Bibliotheken zyklische Abhängigkeiten zueinander aufweisen. Bisher haben die Entwickler die benötigten Codeteile zueinander verlinkt.
Das ist auf Dauer aber keine besonders gute Lösung, da dies Dinge wie das Teilen von statischen Variablen erschwert, zudem vergrößert dies die Speicherbelegung. Zu diesen grundlegenden APIs, die in der Bibliothek zusammengefasst wurden, gehören auch jene, die für die Verwendung von KDBus erstellt wurden. Um Entwicklern den Umgang mit der neuen Bibliothek zu erleichtern, lassen sich auch Bibliotheken nach altem Format erstellen, welche die Aufrufe einfach an die neue Bibliothek weiterleiten.
Der Quellcode von Systemd 209 steht ab sofort zum Download bereit. Anders als bisher steht eine Binärdatei bis auf weiteres aber nicht in Fedora Rawhide zur Verfügung. Denn die ARM-Architektur ist seit vergangenem Jahr eine Primärarchitektur in der Linux-Distribution, derzeit ist die Toolchain dafür in Rawhide aber nicht funktionsfähig.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed