CentOS7 systemd 事始め

f:id:arcright:20150215143711p:plain
http://centos.org/
CentOS6以前で採用されていたサービスの起動や自動起動設定には下記のようなコマンドを使っていた。これらはSysV servicesによって管理されている。

## サービス起動
# /etc/init.d/hoge start

## 自動起動設定
# chkconfig hoge on

CentOS7以降systemd servicesで管理されるようになりsystemctlコマンドを用いたサービスの起動や自動起動設定を行うことになる。
他のディストリビューションでも随時systemctlに切り替わっていく流れのようだ。
よく使いそうなところをメモしておく。

systemdではUnitという単位で管理され、Unitには役割ごとに拡張子がつけられる。
ここで扱うサービスについてはhoge.serviceとなる。他にもmount,socket,device等があるがそれはまた今度。
拡張子が指定されない場合systemctlは.serviceとして見なす為serviceの際は拡張子は必要ない。

## サービス起動
# systemctl start hoge

## サービス終了
# systemctl stop hoge

## サービス再起動
# systemctl restart hoge

## サービス設定再読込
# systemctl reload hoge

## サービス状態
# systemctl status hoge

## 自動起動on
# systemctl enable hoge

## 自動起動off
# systemctl disable hoge

ログを確認する為のコマンドとしてjournalctlコマンドが用意されている。これもまた今度。