サービスとsystemctlスクリプト—使用する


24

Fedoraには、「systemctl」および「service」スクリプトがあります。サービスは内部的に呼び出しているようですsystemctl。経由して-だから、Fedoraの上の正しい/正しい方法は、開始または停止サービスのために何であるsystemctlserviceの施設?覚えておくべき微妙な違いがあるかもしれませんか?


3
Debianユーザーなので、確実に答えることはできませんがservice foo start、debianではinitシステムがsystemdであるかsysvinitであるかupstartであるかに関わらず動作します。systemctlsystemdがPID1でない場合、おそらく動作しません。
シャドゥール14年

回答:


14

Fedora(後のバージョン)でサービスを停止/開始する方法はを使用していsystemctlます。

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

たとえば、CentOS 7(Fedora 19またはその周辺)には/etc/rc.d/init.d/networkserviceコマンドで制御できるスクリプトがあります。私が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/networksystemdsystemctlコマンドがそれを制御します。

私はとても「去年」で、service代わりに使用することができます:

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

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


10

通常、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です。

参照資料

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.