LoginSignup
396

More than 5 years have passed since last update.

CentOS7でサービスの管理方法が変わった!

Last updated at Posted at 2014-09-12

はじめに

CentOS7になり、サービスの管理するシステムが"System V系のinit"から"Systemd"に変わったため、今までのように/etc/rc.d/init.d/sshd restartを実行することができなくなりました。

Systemdでサービスを管理できるようになるために、私が使うコマンドを中心にまとめていきます。
※ちなみに、serviceコマンドは今まで通り使える模様(systemctlへリダイレクトしてるけど)。

サービスの起動・終了

今まで/etc/rc.d/init.d/sshd restartとやっていたsshdの再起動は、systemctl restart sshd.serviceとなる。

調べていると、systemctl restart sshdと書いてあるところもありますが、1番最後の引数はUnit名を入れるという事になっているため、サービス名ではなくUnit名である"sshd.service"を指定すべきである。
(Unitについては、Google先生に聞いてください)

サービスの起動はsystemctl start sshd.service、終了はsystemctl stop sshd.serviceと、systemctlとUnit名の間にやりたいことを入れればOKです。reloadについてはUnitに記載されていれば使えるとのこと。

サービス一覧と自動起動設定の確認

サービスの自動起動設定を確認するときに使っていたchkconfig --listは、systemctl list-unit-files -t serviceとなる。
本当ならsystemctl list-unit-filesが対比的には正しいが、私の場合サービスだけを気にして使うと思うので、"-t service"を付けています。

STATEがenabledになっているのが自動起動有効のサービス。disabledは自動起動無効。staticは単体で自動起動設定ができないサービスとなる。
ScreenShot 2014-09-10 8.12.10.png

また、個別に確認したい場合は、systemctl status sshd.serviceとすれば確認できる。
"Loaded:"が出力されている行の一番最後に書かれているenableかdisableで判別できます。
このコマンドでは、他にもサービスの状態などが確認できます。
ScreenShot 2014-09-10 8.21.02.png

自動起動の設定

chkconfig sshd onに相当する自動起動の有効化はsystemctl enable sshd.serviceとなる。
chkconfig sshd offに相当する自動機能無効化はsystemctl disable sshd.serviceとなる。

Logの出力方法

SystemV系のinitでは、"/var/log"配下にrsyslog経由で吐かれていたlogが、systemdではバイナリで保存されるので"journalctl"を使って見ることになる。

使い方としては、journalctl -u sshd.serviceとなる。
他にも、"-b"を付けると、直近の起動からのログだけにしたり、"-k"を付けてdmsegと同じ内容にしたり(エラーが赤く出るようになってるのでわかりやすくなってる)、"-f"を付けてtail -fのようにリアルタイムな表示ができるようにと、それなりにオプションがあります。

おわりに

私が使う分ではこんな感じでしょう。
他にもSystemdになって変更になってる箇所がありますが、今回はピックアップしません。Google先生に聞いてください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
396