In Fedora haben wir 'systemctl' und 'service' Skripte. Es scheint, dass der Dienst intern anruft systemctl
. Also, wie kann Fedora die Dienste starten oder stoppen - via systemctl
oder service
Facility? Gibt es vielleicht Nuancen zu beachten?
In Fedora haben wir 'systemctl' und 'service' Skripte. Es scheint, dass der Dienst intern anruft systemctl
. Also, wie kann Fedora die Dienste starten oder stoppen - via systemctl
oder service
Facility? Gibt es vielleicht Nuancen zu beachten?
Antworten:
Die Möglichkeit, Dienste in Fedora (neuere Versionen) zu stoppen / starten, wird verwendet systemctl
.
Möglicherweise sind jedoch noch einige Dienste verfügbar, /etc/init.d/
die Sie mit dem service
Befehl steuern können . Sie können sie weiterhin steuern, systemctl
indem Sie sie systemd
automatisch Unit-Dateien zuordnen.
Auf meinem CentOS 7 (Fedora 19 oder so) gibt es beispielsweise ein /etc/rc.d/init.d/network
Skript, das ich mit dem service
Befehl steuern könnte . Wenn ich systemctl
stattdessen benutze , funktioniert es immer noch:
# sudo systemctl status network
network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network)
Active: active (exited) since Tue 2014-11-11 08:21:51 GMT; 2 weeks 1 days ago
Wie Sie sehen, wurde es /etc/rc.d/init.d/network
von zugeordnet, systemd
und der systemctl
Befehl steuert es.
Ich könnte so "letztes Jahr" sein und service
stattdessen verwenden:
# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0 tun0
Beide funktionieren, beachten Sie jedoch, dass ihre status
Befehle unterschiedliche Ergebnisse liefern .
In der Regel werden die service
Skripte zu systemctl-Skripten (Systemd) umgeleitet, sodass Sie im Grunde genommen die gewünschten Einstellungen vornehmen möchten.
Aus meinem Fedora 20-System.
$ service sshd status
Redirecting to /bin/systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Fri 2014-11-21 09:12:10 EST; 5 days ago
Main PID: 1095 (sshd)
CGroup: /system.slice/sshd.service
└─1095 /usr/sbin/sshd -D
Nov 21 09:12:10 dufresne systemd[1]: Starting OpenSSH server daemon...
Nov 21 09:12:10 dufresne systemd[1]: Started OpenSSH server daemon.
Nov 21 09:12:11 dufresne sshd[1095]: Server listening on 0.0.0.0 port 22.
Nov 21 09:12:11 dufresne sshd[1095]: Server listening on :: port 22.
Ich benutze in der Regel beide Methoden, da alte Gewohnheiten schwer sterben. Aber wenn Sie versuchen, sich an die Systemd-Welt anzupassen, würde ich mich weiterhin dazu zwingen, Dinge zu tun, systemctl
wenn es möglich ist.
Außerdem bringt Systemd alles, was Sie bisher mit chkconfig
und service
unter einem Befehl getan haben systemctl
, so dass ich es auf lange Sicht im Allgemeinen einfacher finde, damit umzugehen.
Dieses Cheatsheet auf der Website des Fedora-Projekts ist hilfreich für den Wechsel.
Die Antwort auf Ihre ursprüngliche Frage finden Sie übrigens in einer Fußnote auf dieser Seite:
Beachten Sie, dass alle oben aufgeführten Zeilen / sbin / service und / sbin / chkconfig weiterhin auf systemd funktionieren und bei Bedarf in native Entsprechungen übersetzt werden. Die einzige Ausnahme ist chkconfig --list.
service foo start
in Debian funktioniert es, ob Ihr Init-System systemd oder sysvinit oder upstart ist;systemctl
würde wahrscheinlich nicht funktionieren, wenn systemd nicht PID1 ist.