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 systemctloder serviceFacility? 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 systemctloder serviceFacility? 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 serviceBefehl steuern können . Sie können sie weiterhin steuern, systemctlindem Sie sie systemdautomatisch Unit-Dateien zuordnen.
Auf meinem CentOS 7 (Fedora 19 oder so) gibt es beispielsweise ein /etc/rc.d/init.d/networkSkript, das ich mit dem serviceBefehl steuern könnte . Wenn ich systemctlstattdessen 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/networkvon zugeordnet, systemdund der systemctlBefehl steuert es.
Ich könnte so "letztes Jahr" sein und servicestattdessen verwenden:
# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0 tun0
Beide funktionieren, beachten Sie jedoch, dass ihre statusBefehle unterschiedliche Ergebnisse liefern .
In der Regel werden die serviceSkripte 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, systemctlwenn es möglich ist.
Außerdem bringt Systemd alles, was Sie bisher mit chkconfigund serviceunter 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 startin Debian funktioniert es, ob Ihr Init-System systemd oder sysvinit oder upstart ist;systemctlwürde wahrscheinlich nicht funktionieren, wenn systemd nicht PID1 ist.