サービス対systemctlスクリプト - 使用するスクリプト

サービス対systemctlスクリプト - 使用するスクリプト

Fedoraには「systemctl」と「service」スクリプトがあります。サービスが内部的に呼び出されるようですsystemctl。もしそうなら、Fedorasystemctlまたは施設を介してサービスを開始または停止する正しい/適切な方法は何ですかservice?覚えておくべきニュアンスはありますか?

答え1

Fedora(およびそれ以降のバージョン)でサービスを停止/開始する方法はsystemctl

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

たとえば、私のCentOS 7(Fedora 19以降)には、コマンドを使用して制御/etc/rc.d/init.d/networkできるスクリプトがありますservice。以下を使用しても動作します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

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

私はこのように「持続」し、次を使うことができますservice

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

どちらも機能しますが、statusコマンドは異なる結果を提供します。

答え2

通常、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はユーザーが行ったすべての操作をchkconfig1つのserviceコマンドにインポートするため、通常はsystemctl長期的に処理するのが簡単です。

FedoraプロジェクトのWebサイトにあるこのチートシートは、移行に役立ちます。

   SS1

ただし、元の質問に対する回答はこのページの脚注に記載されています。

上記のすべての/sbin/serviceおよび/sbin/chkconfig行はsystemdで動作し続け、必要に応じてデフォルトの対応する行に変換されます。唯一の例外はchkconfig --listです。

引用する

関連情報