Linux-Kongreß97

Zustandsmanagement mit init

Nils Magnus
Kester Habermann
Unix-AG, Universität Kaiserslautern

Zusammenfassung

Das Programm init hat eine zentrale Bedeutung für den Betrieb von Linux. Als Schaltstelle verteilt es als Vater aller Prozesse Aufgaben an andere Prozesse und überwacht somit den Gesamtzustand des Systems. Um mehrere Betriebsmodi und -zustände modellieren zu können, hat man das Konzept der Runlevel entwickelt.

Die häufigsten Realisierungen dieses Konzeptes sind als BSD- und System V-Varianten bekannt. Unter Linux kommt hauptsächlich das von Miquel von Smoorenburg entwickelte Paket zum Einsatz, das beide Konfigurationsmöglichkeiten offenläßt. Zwar wird von den meisten Distributionen die System V-angelehnte Variante wegen seiner Flexibilität verwendet, oft aber noch mit eigenen Erweiterungen versehen. Obwohl viele gute Ansätze erkennbar sind, fehlt bis heute eine in allen Belangen zufriedenstellende Lösung. Dazu werden Vorschläge für eine Anforderungsspezifikation erarbeitet.

Der Vortrag gliedert sich in drei Teile:

Zunächst wollen wir vorstellen, wie in bestehenden Implementationen der Bootablauf und die Modellierung der Systemzustände umgesetzt wurden. Weiter soll geklärt werden, was Runlevel sind und wie ein Runlevel funktioniert. Wir wollen die aus unserer Sicht bestehenden Vor- und Nachteile dieses Systems aufzeigen. Exemplarisch wollen wir dazu die Lösungen bei einigen Distributionen und anderen Unix-Derivaten gegenüberstellen und vergleichen.

Im weiteren wollen wir Ideen und Konzepte entwickeln, die unserer Ansicht nach nötig sind, um ein den verschiedenen Anforderungen im Systembetrieb genügendes Zustandsmanagement zu implementieren. Zu diesen Konzepten zählen u.a.

Nachdem wir diese Vorschläge erläutert und begründet haben, möchten wir daraus eine Systemspezifikation erarbeiten, die es auf skalierbare Weise möglich macht, diese Ideen auch umzusetzen.

Anhand von einzelnen Komponenten und durch Wiederverwendung soll aufgezeigt werden, wie dies geschehen kann. Die Aufgaben der Runlevel, Subsysteme, Lockingmechanismen und die Benutzerschnittstellen werden spezifiziert. Wichtiges Ziel bleibt hierbei, daß das System weiterhin mit herkömmlichen Mitteln wartbar bleibt.

Abschließen wollen wir mit der Vorstellung von Eigenentwicklung bzw. Erweiterung des bestehenden Zustandsmanagementes, das um das häufig eingesetzte init-Paket von Miquel van Smoorenburg aufgebaut ist. Dabei gehen wir insbesondere auf häufig auftretende Probleme mit diesem Paket ein und stellen Lösungsmöglichkeiten für die im zweiten Teil entwickelten Anforderungen vor. Wir möchten hierzu auch dem Systemverwalter einige kleine Werkzeuge zur Hand geben, die Wartungsaufgaben vereinfachen und Konsistenzüberprüfungen durchführen helfen.

Als Ausblick wollen wir die Idee einer umfassenden Benutzerschnittstelle diskutieren, die über die bisherige Zustandsverwaltung gelegt wird und so dem Administrator stets die wesentlichen Informationen bereitstellt und ihn bei Wartungsmaßnahmen unterstützt.

Nils Magnus ist Student der Informatik an der Universität Kaiserslautern und beschäftigt sich mit Linux seit 1992. Er verwaltet einige Rechner unter verschiedenen Betriebssystemen und interessiert sich für die Themen verteilte Informationsysteme und Rechnersicherheit.

Kester Habermann studiert Mathematik und Informatik an der Universität Kaiserslautern und arbeitet für einen lokalen Service-Provider und verwaltet mehrere Rechner. Seine Interessensgebiete umfassen Rechnervernetzung und Konzepte zur Vereinfachung der Systemwartung.

Beide haben bei verschiedenen Gelegenheiten schon mehrere Vorträge aus den oben genannten Bereichen gehalten; zuletzt auf dem von der Projektgruppe Linux veranstalteten LinuxTag '97 der Universität Kaiserslautern.