Upstart ist ein älteres ereignisbasiertes init- und Dienstverwaltungssystem, das von Canonical entwickelt wurde. Ältere Ubuntu-Versionen und mehrere andere Distributionen verwendeten es, doch aktuelle Ubuntu-Veröffentlichungen verwenden systemd. Beschäftige dich mit Upstart zur Pflege eines bestätigten älteren Hosts und nicht als Standardannahme für eine moderne Installation.
Init · Lektion 3
Überblick über Upstart
Erfahre, wie das ältere init-System Upstart Ereignisausdrücke mit Zielen des Joblebenszyklus verbindet.
Einen älteren Upstart-Host bestätigen
Prüfe PID 1 und die aktive Steuerungsschnittstelle:
$ ps -p 1 -o pid,comm,args=
$ readlink /proc/1/exe
$ initctl version
Der letzte Befehl ist nur dort aussagekräftig erfolgreich, wo Upstarts Steuerungsdienst und Client vorhanden sind. Ein Verzeichnis wie /usr/share/upstart oder übrig gebliebene Dateien unter /etc/init sind schwache Belege, da Pakete und Migrationsreste bestehen bleiben können, nachdem ein anderes init-System übernommen hat.
Was ist der stärkste Beleg dafür, dass ein Host tatsächlich Upstart verwendet?
Jobs und Ereignisse
Ein Upstart-Job beschreibt einen Dienst oder eine Aufgabe einschließlich seiner Prozessbefehle und Lebenszyklusbedingungen. Ein Ereignis ist eine benannte Benachrichtigung mit optionalen Umgebungsvariablen. Die Jobkonfiguration kann ausdrücken, wann ihr Ziel auf Start oder Stopp wechseln soll.
Systemweite Jobdateien befinden sich gewöhnlich mit der Endung .conf unter /etc/init/. Zum Beispiel:
description "Example worker"
start on runlevel [2345]
stop on runlevel [016]
exec /usr/local/sbin/example-worker
Dies verwendet Runlevel-Ereignisse als Kompatibilitätseingaben. Upstart kann abhängig davon, welche Ereignisse das System ausgibt, außerdem auf Dateisystem-, Geräte-, Netzwerk- oder anwendungsdefinierte Ereignisse reagieren.
Was definiert ein Upstart-Abschnitt start on?
Ereignisgesteuerter Start
Während des Systemstarts lädt Upstart Jobdefinitionen und empfängt Ereignisse. Zutreffende Ausdrücke start on oder stop on aktualisieren Jobziele; Jobübergänge können zusätzliche Ereignisse ausgeben, die weitere Arbeit freigeben. Unabhängige Jobs können gleichzeitig fortschreiten.
Dieses Modell vermeidet eine einzige fest codierte globale Skriptreihenfolge, kann aber schwer zu diagnostizieren sein, wenn Ereignisnamen, Reihenfolge und Bedingungen implizit sind. Ereignisse sind standardmäßig keine dauerhafte Nachrichtenwarteschlange. Ein später hinzugefügter Job oder eine nachträglich geänderte Bedingung sollte daher nicht annehmen, dass jedes frühere Ereignis wiederholt wird.
Wie kann ein Upstart-Job dazu führen, dass ein anderer Job startet?
Migration und Kompatibilität
Systemd kann eine begrenzte Kompatibilität für einige ältere Dienstskripte bereitstellen, führt die Upstart-Jobsyntax aber nicht als native systemd-Units aus. Übertrage bei einer Migration Lebenszyklusbedingungen, Umgebung, Respawn-Richtlinie, Protokollierung, Abhängigkeiten und Bereitschaftssemantik, statt Dateien mechanisch umzubenennen.
Welches init-System verwenden aktuelle Ubuntu-Standardveröffentlichungen?
Lektion abgeschlossen
Sie haben Überblick über Upstart abgeschlossen
Du kannst Upstart nun als älteres Ereignis- und Jobmodell lesen.
Bestätige die aktive PID 1 und Steuerungsschnittstelle.
Unterscheide Jobdefinitionen von Ereignisbenachrichtigungen.
Interpretiere
start onundstop onals Lebenszyklusausdrücke.Migriere Semantik ausdrücklich, statt Konfigurationsdateien umzubenennen.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen