AA_start_mrozsz_sxc_868626.jpg

© Mrozsz, sxc.hu

Durchstarten

Eigene Dienste mit Upstart zünden

14.07.2011
Unter Ubuntu wacht der SysV-Init-Ersatz Upstart über die komplexen Vorgänge beim Systemstart. Mit dem richtigen Know-how fügen Sie bei Bedarf hier ein eigenes Startskript ein.

Nachdem der Kernel die Hardware initialisiert hat, reicht er unter Ubuntu die Kontrolle über das System direkt an das Programm Upstart weiter. Diesem wiederum fällt die Aufgabe zu, die Hardware einzurichten und alle für den Betrieb notwendigen Dienste zu starten. Auf einem modernen Linux-System sind das mittlerweile eine ganze Menge – angefangen beim Druckdienst Cups über das X-Window-System bis zum Gnome Display Manager GDM, um nur drei der bekannteren Gesellen zu nennen.

Versteckspiel

Auf der Festplatte suchen Sie ein Programm namens Upstart vergebens. Das Werkzeug nutzt aus gutem Grund ein Pseudonym: Sobald der Linux-Kernel gestartet ist und den Computer in Beschlag genommen hat, ruft er stur das Programm /sbin/init auf. Um direkt nach dem Systemstart als erster Prozess mit der Nummer (PID) 1 die Arbeit aufzunehmen, versteckt sich Upstart folglich genau hinter diesem Namen. Deshalb finden Sie Upstart in der Liste mit allen Prozessen (ps -A) stets unter dem Pseudonym init; seine Manpage rufen Sie analog dazu über man init auf.

Schlangestehen

Um das gesamte System möglichst schnell hochzufahren, böte es sich an, alle Dienste gleichzeitig zu starten. Dummerweise hängen einige von anderen ab: So nimmt beispielsweise der Druckdienst Cups seine Arbeit erst auf, wenn das Netzwerk steht. Um solche Abhängigkeiten zu berücksichtigen, verwendet Upstart ein ereignisgesteuertes System: Sobald ein bestimmtes Ereignis eintritt, wie etwa "Netzwerk aktiviert" oder "TV-Stick angeschlossen", arbeitet Upstart alle zu diesem Ereignis passenden Jobs ab.

Hinter diesen Jobs verbergen sich einfache Textdateien, die die Befehle zum Starten der eigentlichen Dienste oder zum Einrichten der Hardware enthalten. Tritt zum Beispiel das Ereignis "Netzwerk aktiviert" auf, geht Upstart alle zugehörigen Dateien durch, von denen wiederum eine das Drucksystem hochfährt. Jobs voneinander unabhängiger Ereignisse bearbeitet Upstart parallel. So ist es etwa dem gerade eingestöpselten Fernsehempfänger in der Regel egal, ob das Netzwerk bereits läuft.

Arbeitgeber

Wollen Sie einen eigenen Dienst beim Systemstart automatisch hochfahren, erstellen Sie eine passende Job-Datei, die den Namen des Jobs als Dateinamen sowie das Suffix .conf trägt. Der Inhalt setzt sich recht einfach zusammen: Listing 1 zeigt ein Beispiel, das beim Systemstart die Software zum Messen von Lärm startet. In jeder Zeile steht eine Anweisung beziehungsweise Information an Upstart; Kommentare beginnen ähnlich wie in Shell-Skripten mit einer Raute.

Hinter den Schlüsselwörtern description und author steht in Anführungszeichen eine Beschreibung und der Name des Autors. Bei beiden handelt es sich um freiwillige Angaben. Über die Zeile start on legen Sie fest, bei welchen Ereignissen Upstart diesen Job auf die Reise schickt. Die Software benötigt mindestens ein Dateisystem (filesystem), um die gemessenen Daten abzulegen. In aktuellen Upstart-Versionen darf start on nur einmal auftauchen.

Listing 1

description "Beispiel für einen Job"
author "Tim Schürmann"
start on filesystem
exec /usr/bin/messdaemon --log=/var/log/laerm/messung.log
pre-start script
# Erstelle notwendiges Verzeichnis:
mkdir -p /var/log/laerm
end script
post-stop script
# Aufräumen:
rm -rf /var/log/laerm
end script
respawn
respawn limit 5 60
stop on filesystem

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Upstart und Systemd im Vergleich
    Upstart und Systemd – gleich zwei neue Ansätze konkurrieren um die Pole-Position beim Linux-Start. Wir unterziehen die Kandidaten einem konzeptionellen Vergleich.
  • Natty Narwhal mit neuen Tools in Upstart

    Die Upstart-Version in der kommenden Ubuntu-Release 11.04 (Natty Narwhal) bringt neue Tools mit, mit denen der Administrator Abhängigkeiten beim Systemstart analysieren und visualisieren kann.
  • Diensten auf der Spur
    Welche Dienste laufen auf Ihrem System? Welche davon lauschen auf Besucher aus dem Internet/LAN? Müssen Web-, SSH- oder FTP-Server permanent auf einem Desktop oder Laptop laufen? Fragen über Fragen, wir suchen Antworten.
  • Upstart erscheint in Version 1.8

    Die neue Version der Init- und Systemd-Alternative Upstart bringt nur zwei größere Änderungen mit.
  • Auch Debian ersetzt Sysvinit durch Upstart
    Das derzeitige Debian-Bootsystem Sysvinit soll wegen Unzuverlässigkeit schrittweise durch Upstart ersetzt werden, melden die Bootsystem-Maintainer auf der Entwickler-Announce-Mailingliste.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

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

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...