Systemd Reihenfolge
Version vom 10. Januar 2023, 08:41 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Wants= *Konfiguriert (schwache) Anforderungsabhängigkeiten zu anderen Units. *Diese Option kann mehr als einmal angegeben werden, oder es können mehrere du…“)
Wants
- Konfiguriert (schwache) Anforderungsabhängigkeiten zu anderen Units.
- Diese Option kann mehr als einmal angegeben werden, oder es können mehrere durch Leerzeichen getrennte Einheiten in einer Option angegeben werden, wobei in diesem Fall Abhängigkeiten für alle aufgelisteten Namen erstellt werden.
- Die in dieser Option aufgeführten Einheiten werden gestartet, wenn die konfigurierende Einheit gestartet wird.
- Sollten die aufgelisteten Units jedoch nicht starten oder der Transaktion nicht hinzugefügt werden können, hat dies keinen Einfluss auf die Gültigkeit der Transaktion als Ganzes und diese Unit wird trotzdem gestartet.
- Dies ist die empfohlene Methode, um den Start einer Einheit mit dem Start einer anderen Einheit zu verknüpfen.
Requires
- Ähnlich wie Wants=, deklariert aber eine stärkere Anforderungsabhängigkeit.
- Wenn diese Einheit aktiviert wird, werden die aufgelisteten Einheiten ebenfalls aktiviert.
- Wenn eine der anderen Units nicht aktiviert wird und eine Ordnungsabhängigkeit After= für die fehlerhafte Unit gesetzt ist, wird diese Unit nicht gestartet.
- Außerdem wird diese Unit mit oder ohne Angabe von After= gestoppt (oder neu gestartet), wenn eine der anderen Units explizit gestoppt (oder neu gestartet) wird.
- Häufig ist es besser, Wants= anstelle von Requires= zu verwenden, um ein System zu erreichen, das robuster im Umgang mit fehlgeschlagenen Diensten ist.
Requisite
- Ähnlich wie Requires=. Wenn die hier aufgelisteten Units jedoch nicht bereits gestartet sind, werden sie nicht gestartet und der Start dieser Unit schlägt sofort fehl.
- Requisite= impliziert keine Reihenfolgeabhängigkeit, selbst wenn beide Units in derselben Transaktion gestartet werden.
- Daher sollte diese Einstellung normalerweise mit After= kombiniert werden, um sicherzustellen, dass diese Unit nicht vor der anderen Unit gestartet wird.
- Wenn Requisite=b.service für a.service verwendet wird, wird diese Abhängigkeit als RequisiteOf=a.service in der Eigenschaftenliste von b.service angezeigt. RequisiteOf= Abhängigkeit kann nicht direkt angegeben werden.