
Die Konzepte „aktiv“ und „deaktiviert“ verwirren mich.
Kann das jemand erklären?
Antwort1
Die Manpage systemd
enthält die gesuchten Informationen.
Auszug
systemd stellt ein Abhängigkeitssystem zwischen verschiedenen Einheiten namens „Units“ bereit. Units kapseln verschiedene Objekte, die für den Systemstart und die Wartung relevant sind. Die meisten Units werden in Unit-Konfigurationsdateien konfiguriert, deren Syntax und grundlegender Optionssatz in systemd.unit(5) beschrieben ist. Einige werden jedoch automatisch aus anderen Konfigurationen oder dynamisch aus dem Systemstatus erstellt.
Einheiten können „aktiv“ (d. h. gestartet, gebunden, eingesteckt, ..., abhängig vom Einheitentyp, siehe unten) oder „inaktiv“ (d. h. gestoppt, ungebunden, ausgesteckt, ...) sein. Sie können sich auch im Prozess der Aktivierung oder Deaktivierung befinden, also zwischen den beiden Zuständen (diese Zustände werden als „Aktivieren“ bzw. „Deaktivieren“ bezeichnet).
Es ist auch ein spezieller Status „Fehlgeschlagen“ verfügbar, der dem Status „Inaktiv“ sehr ähnlich ist und aufgerufen wird, wenn der Dienst auf irgendeine Weise fehlgeschlagen ist (der Prozess hat beim Beenden einen Fehlercode zurückgegeben, ist abgestürzt oder bei einer Operation ist die Zeit abgelaufen). Wenn dieser Status aufgerufen wird, wird die Ursache für spätere Bezugnahme protokolliert.
Beachten Sie, dass die verschiedenen Einheitentypen eine Reihe zusätzlicher Unterzustände haben können, die den fünf hier beschriebenen verallgemeinerten Einheitenzuständen zugeordnet sind.
Abbauen
Wenn Sie das oben Gesagte gelesen haben und den Unterschied immer noch nicht verstehen, finden Sie ihn hier in aller Kürze.
- ermöglicht- ein Dienst (eine Einheit) ist so konfiguriert, dass er beim Systemstart gestartet wird
- deaktiviert- ein Dienst (eine Einheit) ist so konfiguriert, dass er beim Systemstart nicht gestartet wird
- aktiv- ein Dienst (eine Einheit) wird gerade ausgeführt.
- inaktiv- Ein Dienst (eine Einheit) läuft derzeit nicht, kann aber gestartet, also aktiv werden, wenn versucht wird, den Dienst zu nutzen.
inaktiv
Letzteres mag am verwirrendsten erscheinen, aber denken Sie daran systemd
ähnlich wie xinetd
. Es kann Ihre Dienste für Sie verwalten und sie bei Bedarf auf Anfrage starten. Wenn die Dienste also "ausgeschaltet" sind, befinden sie sich iminaktivZustand, aber wenn sie gestartet werden, können sieaktiv.
Dieser Zustand kann auch auftreten, wenn ein Dienst (eine Einheit) aktiviert, aber noch nicht manuell gestartet wurde. Der Dienst liegt also "schlafend" imgestopptoderfehlgeschlagenZustand, bis der Dienst entweder manuell gestartet wird oder das System einen Neustart durchführt, was dazu führen würde, dass der Dienstaktivaufgrund seiner Ermöglichung.
Antwort2
Wenn Sie einen Dienst aktivieren/deaktivieren, geben Sie im Wesentlichen an, ob er beim Booten automatisch gestartet werden soll.
Also systemctl enable lxdm
wird LXDM als DM festgelegt. Es wird jedoch nicht sofort gestartet.
Andererseits informiert Sie „aktiv/inaktiv“ (und optional „fehlgeschlagen“) über den aktuellen Status des Dienstes. Nach dem Ausführen systemctl start lxdm
wird LXDM tatsächlich ausgeführt und hat den Status „aktiv“.
Normalerweise testen Sie einen Dienst, wenn Sie ihn zum ersten Mal installieren, indem Sie ihn starten. Wenn er funktioniert, aktivieren Sie ihn. Auf diese Weise vermeiden Sie, dass Ihr System beim Booten hängen bleibt.