Es gibt einen Dienst, den ich nur ausführen möchte, wenn ein anderer Dienst ausfällt ( [Unit] OnFailure=foo
), aber ich möchte nicht, dass dieser Dienst ( foo
) beim Booten automatisch gestartet wird. Eine Option läuft systemctl disable foo
, aber ich suche nach einem anderen Weg.
Hintergrund: Ich erstelle ein Betriebssystem-Image und möchte den Computer nicht starten, diesen Befehl ( systemctl disable foo
) ausführen und dann herunterfahren müssen, bevor ich mein Image als endgültig deklariere.
systemctl enable
funktioniert durch Manipulieren von Symlinks in/etc/systemd/system/
(für Systemdämonen). Wenn Sieenable
einen Dienst ausführen, werden dieWantedBy
Zeilen im[Install]
Abschnitt angezeigt und Symlinks in diesen.wants
Verzeichnissen eingefügt .systemctl disable
macht das Gegenteil.Sie können diese Symlinks einfach entfernen - dies von Hand zu tun ist völlig gleichbedeutend mit der Verwendung
systemctl disable
.quelle
Sie können
systemctl start ServiceName.service
undsystemctl stop Service.Name.service
zum Starten bzw. Stoppen eines Dienstes verwenden. Im Gegensatz zusystemctl enable ...
undsystemctl disable ...
dauern die Start- und Stoppbefehle nur für die aktuelle Sitzung. Wenn Sie den Computer neu starten, werden die Änderungen daher nicht gespeichert.quelle