GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Was ist das Systemctl-Äquivalent für einen Befehl wie „chkconfig –level 5 Iptables On“?

Ich kenne systemctl enable iptables ähnelt dem Befehl chkconfig --level 5 iptables on , aber beide sind nicht genau gleich.

Verwenden von systemctl , wie schränken wir ein, dass ein Dienst nur auf einem bestimmten Ziel gestartet wird, wie beispielsweise graphic.target.

Akzeptierte Antwort:

Dafür steht WantedBy= und RequiredBy= Direktiven in systemd Unit-Dateien sind für:

Von man systemd.unit :

WantedBy=, RequiredBy=

Diese Option kann mehr als einmal verwendet werden, oder es kann eine durch Leerzeichen getrennte Liste von Einheitennamen angegeben werden. Ein symbolischer Link wird im .wants/- oder .requires/-Verzeichnis jeder der aufgelisteten Units erstellt, wenn diese Unit durch systemctl enable installiert wird. Dies bewirkt, dass eine Abhängigkeit vom Typ Wants=oder Requires=von der aufgelisteten Unit zur aktuellen Unit hinzugefügt wird. Das primäre Ergebnis ist, dass die aktuelle Unit gestartet wird, wenn die aufgelistete Unit gestartet wird. Einzelheiten finden Sie in der Beschreibung von Wants=und Requires=im Abschnitt [Unit].

Der erstellte symbolische Link verursacht also systemd um die gegebene Einheit zu starten, wenn das Ziel/die Einheit gestartet wird.

Also zum Beispiel:

[Install]
WantedBy=graphical.target

Würde bewirken, dass die Unit nur gestartet wird, wenn graphical.target ausgeführt wird (wenn das Gerät aktiviert ist).

Ein weiteres Beispiel:

[Install]
WantedBy=my-custom-target.target graphical.target

Würde bewirken, dass die Einheit gestartet wird, wenn my-custom-target.target oder graphical.target ausgeführt wird (wenn das Gerät aktiviert ist).

Eine letzte Sache, die Sie im Hinterkopf behalten sollten, kann schwierig sein, die Dinge auf ein einzelnes Ziel zu beschränken, da einige Ziele von anderen abhängen. Beispiel:graphical.target Requires=multi-user.target , also wenn graphical.target Gestartet werden alle Units von multi-user.target werden ebenfalls gestartet. Denken Sie nur daran, dass einige Ziele auf anderen aufgebaut sind und dass die darauf aufgebauten alles von den Zielen erhalten, von denen sie abhängig sind.


Linux
  1. Eine Anleitung zum Linux-Terminal für Anfänger

  2. Verwenden des Befehls systemctl zum Verwalten von systemd-Einheiten

  3. Linux-Äquivalent zum Open-Befehl von Mac OS X

  4. Was ist das Äquivalent zum Linux-Dateibefehl für Windows?

  5. Was ist das Äquivalent von Linux's ~ (Tilde) in Windows?

3 Passwort-Manager für die Linux-Kommandozeile

Lesezeichen für die Linux-Befehle für einfacheren wiederholten Aufruf

Formatierungstricks für den Linux-Datumsbefehl

5 Tipps zur Verwendung des Linux-SS-Befehls wie ein Profi

Die 50 nützlichen Linux-IP-Befehle für Netzwerkadministratoren

Ein praktischer Leitfaden für den Chroot-Befehl unter Linux