CentOS 7.1 - Service から Systemctl へ

 
1. 概要
2. 起動・停止
3. 自動起動設定の確認
4. 自動起動の有効化・無効化

1. 概要

 本記事は「CentOS7 でサービスの管理方法が変わった!」を参考にさせていただきました。  CentOS6 までは、サーバアプリケーションの操作は service というコマンドを使用していたのですが CentOS7 から systemctl というコマンドへ変わったようです。

2. 起動・停止

 参考記事に習って sshd を例にとりますが・・・。  CentOS6 まで、起動・停止・動作状態の確認を

$ service sshd start
$ service sshd stop
$ service sshd status
 としていました。  servicesystemctl へ飛ばされるため、上記でもエラーにはなりませんが、正式には

$ systemctl start  sshd.service
$ systemctl stop   sshd.service
$ systemctl status sshd.service
 なのだそうな。

3. 自動起動設定の確認

 CentOS6 では、自動起動の確認を chkconfig というコマンドでしていたのですが、同じコマンドを CentOS7 で打つと

$ chkconfig --list

注記: この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。
      systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。
      systemd サービスを一覧表示するには 'systemctl list-unit-files' を使用してください。
      特定のターゲットにおいて有効化されているサービスを確認するには、
      'systemctl list-dependencies [target]' 。

netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
 てなことを言われちゃうのです。  なので、一覧で見るには

$ systemctl list-unit-files
 なのですが。  これは恐ろしくいっぱいでるので、とりあえずは、grep でもかますしかないのか?と思っています。

4. 自動起動の有効化・無効化

 自動起動の有効化・無効化も systemctl だそうで、vsftpd を例にとりますと  有効化するには

$ systemctl enable vsftpd.service
 無効化するには

$ systemctl disable vsftpd.service
 だそうな。