Bootloader

Emporkömmling - Wie ist es besser oder schlechter als die anderen??

Emporkömmling - Wie ist es besser oder schlechter als die anderen??
Als Upstart zum ersten Mal von Canonical konzipiert wurde, war das vorherrschende System noch sysvinit, das alles nacheinander startete und danach mehr oder weniger stoppte. Es hat auch dafür gesorgt, dass das System ordnungsgemäß geschlossen wurde. Dies machte andere Lösungen für Hot-Plugging-Geräte wie USB-Sticks und ähnliches erforderlich. Die Hauptidee der Designer war, es ereignisgesteuert zu gestalten, dies machte es einfach, die erwähnten Hot-Plugging-Ereignisse zu handhaben. Upstart kann auch unveränderte Sysvinit-Skripte ausführen, sodass Sie mit nur einer Installation zu Upstart migrieren können. Dieses Projekt befindet sich nur im Wartungsmodus, also verwenden Sie diesen Beitrag als interessantes Stück. Sie können auf dieses System in alten aktualisierten Systemen stoßen.

Wie unterscheidet sich Upstart?

Upstart hat ein Modell, bei dem jeder verfügbare Job gestartet wird, wenn das Ereignis eintritt. Vergleichen Sie dies mit systemd, das Prozesse startet, auf denen alle anderen Systeme laufen. Der Hauptunterschied besteht darin, dass Upstart auf Ereignisse wartet und systemd Abhängigkeiten koordiniert. Beide Systeme können normale Skripte ausführen und beide versuchen parallel zu starten. Da die Unterschiede so gering sind, können Upstart-Skripte normalerweise nur mit einer systemd-Dienstdatei aufgerufen werden. Sie können auch beide unveränderte systemV-Dateien ausführen. Tatsächlich suchen beide standardmäßig nach einer alten systemV-Dateistruktur. Der große Unterschied besteht darin, dass Upstart nach definierten Ereignissen sucht, um alles zu starten. Wenn Sie also Ihren eigenen Service hinzufügen möchten, müssen Sie herausfinden, in welchem ​​Kontext Sie Ihren Service benötigen. Normalerweise ist dies einfach, da Sie etwas benötigen, das beispielsweise auf Ihrem Desktop ausgeführt wird. Der Desktop startet mit Event Runlevel 5, also legen Sie das in Ihrem Skript fest. Für systemd hingegen ist dies das grafische Ziel. In upstart haben Sie auch andere Ereignisse, die Sie verwenden können, wie z. B. Montage, Montage und Tastaturanforderung keyboard. Diese werden mit systemd über Sockets und dbus gehandhabt.

Wie migrieren Sie Skripte??

Sie haben alle Upstart-Skripte in /etc/init, ihre Namen sind Job-Namen mit einer 'conf'-Erweiterung. Die Skripte sind nicht ausführbar, sie zeigen nur auf eine oder mehrere ausführbare Dateien, die ausgeführt werden sollen. In jedem Upstart-Skript haben Sie definiert, bei welchem ​​Ereignis das Skript starten und wann es stoppen soll. Sie sollten auch Einträge vor dem Start und nach dem Stopp haben. Diese werden die Umgebung vorbereiten und nach der Ausführung aufräumen. Ein Beispielskript ist unten

Beschreibung "Ein einfaches Skript"
Start auf Runlevel [2345]
Stopp auf Runlevel [06]
respawnen
env SCRIPT_ENV_VAR='/path/to/file.Konfiguration'
chdir /Pfad/zu/Skript/
exec-bash-Skript.Sch

Die 'exec'-Anweisung sagt, was passiert, wenn Sie es manuell starten. Die Anweisungen start und stop definieren, wann das Skript automatisch gestartet wird. Wie Sie sehen, können Sie auch das Verzeichnis festlegen, in dem es ausgeführt wird. Upstart hat noch viele weitere Aspekte, aber Sie sollten lernen, wie Sie auswandern können.

Damit dieses Skript in systemd funktioniert, müssen Sie eine Servicedatei erstellen.

Einheit]
Description=Ein einfaches Skript
[Bedienung]
Umgebung= SCRIPT_ENV_VAR =/Pfad/zu/Datei.Konfiguration
WorkingDirectory=/path/to/script
ExecStart=/usr/bin/bash-Skript.Sch
Neustart = immer
[Installieren]
WantedBy=Mehrbenutzer.Ziel

Hier können Sie sehen, dass die gleichen Dinge passieren, aber mit anderen Schlüsselwörtern. Das Format ist einfach und auf den Punkt gebracht. Anstatt Runlevels zu haben, zeigen Sie, welches Ziel Ihr Skript haben möchte. Dies unterstreicht, dass es bei systemd um Abhängigkeiten und um Dinge für die jeweilige Umgebung geht. Beachten Sie auch, dass ExecStart auf einen globalen Pfad zeigt und niemals einen lokalen Pfad verwendet.

Wo zeichnet es sich aus??

Upstart wurde für paralleles Verhalten entwickelt, aber auch klein ausgelegt. Wenn Sie dies noch irgendwo finden, befindet es sich in eingebetteten Systemen und ChromeOS. Ja, ChromeOS hatte es. Der Grund ist, dass es von Anfang an auf Ubuntu aufgebaut wurde, als Ubuntu Upstart als Standard-Startsystem hatte. ChromeOS verwendet seitdem Gentoo als Basis.

Fazit

Upstart ist ein interessantes Thema, aber hauptsächlich historisch. Sie benötigen es möglicherweise nur, wenn Sie auf alte Systeme stoßen. Die häufigste Alternative unter Linux ist jetzt systemd. Wenn Sie Bedenken bezüglich systemd haben, sollten Sie nach anderen Minimalsystemen suchen. Ein interessantes ist das sauglose, sinit. Es unterstützt drei Signale und Sie müssen alle Skripte dafür selbst schreiben oder die Skripte von jemand anderem ändern. Dies kann eine interessante Übung sein, ist aber nur nützlich, wenn Sie an einem sehr minimalen und spezialisierten System arbeiten.

So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...
So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...
Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....