web-dev-qa-db-ja.com

サービス対systemctlスクリプト-どちらを使用するか

Fedoraには「systemctl」と「service」スクリプトがあります。サービスが内部でsystemctlを呼び出しているようです。では、Fedoraでsystemctlまたはservice機能を介してサービスを開始または停止する正しい/正しい方法は何ですか?覚えておくべきニュアンスがあるのでしょうか?

24
Mark

Fedora(最新バージョン)でサービスを停止/開始する方法は、systemctlを使用することです。

ただし、serviceコマンドで制御できるいくつかのサービスが/etc/init.d/に残っている可能性があります。 systemctlは自動的にユニットファイルにマップするため、systemdを使用してそれらを制御することもできます。

たとえば、私のCentOS 7(Fedora 19など)には、serviceコマンドで制御できる/etc/rc.d/init.d/networkスクリプトがあります。代わりにsystemctlを使用しても、引き続き機能します。

# 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

ご覧のとおり、それはsystemdによって/etc/rc.d/init.d/networkにマップされており、systemctlコマンドがそれを制御します。

私は「昨年」になり、代わりにserviceを使用できます。

# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0 tun0

どちらも機能しますが、statusコマンドで異なる結果が得られることに注意してください。

14
garethTheRed

通常、serviceスクリプトはsystemctl(Systemd)スクリプトにリダイレクトされるので、基本的には使用する設定です。

私のFedora 20システムから。

$ 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.

古い習慣はなかなか死なないので、私は一般的に両方の方法を使います。しかし、もしあなたがSystemdの世界に適応しようとしているなら、私は可能な限りsystemctlを使用して自分に強制するつもりです。

また、Systemdは、chkconfigserviceで使用していたすべてのことを1つのコマンドsystemctlで実行できるため、一般的には長期的に対処する方が簡単です。

FedoraプロジェクトのWebサイトにあるこのチートシートは、切り替えを行う際に役立ちます。

ss1

ちなみに、元の質問に対する回答は、そのページの脚注で回答されています。

上記のすべての/ sbin/serviceおよび/ sbin/chkconfig行はsystemdで引き続き機能し、必要に応じて同等のネイティブに変換されることに注意してください。唯一の例外はchkconfig --listです。

参考文献

10
slm