systemd、systemctl、ユニットについて
systemdの説明
ユニットの場所は以下です。
/etc/systemd/system
/usr/lib/systemd/system
ユニットの種類は以下などです。
.automaunt オートマウント
.device デバイス
.mount マウント
.path パス
.scope スコープ
.service サービス
.slice スライス
.soket ソケット
.swap スワップ
.target ターゲット
.timer タイマー
■マニュアル・ヘルプの表示
man systemctl
systemctl -h
■grepコマンドとの併用について
systemctlの表示の中で文字列「sshd」が有る箇所を表示させるには
systemctl | grep sshd
■起動、再起動、停止
systemctl start ユニット名
systemctl restart ユニット名
systemctl stop ユニット名
※また、「service ユニット名 start」とすると、
/bin/systemctl start ユニット名.service
が実行されます。
■現在、起動しているか停止しているかの確認
systemctl status
※ユニットを指定して実行する場合は「systemctl status ユニット名」
■自動起動させる
systemctl enable ユニット名
※自動起動の停止は「systemctl disable ユニット名」
■自動起動かどうかの確認
systemctl list-unit-files
※ユニットを指定して実行する場合は「systemctl is-enabled ユニット名」
■全てのユニットの一覧を表示する
読み込まれていない(not found表示)ユニットも表示する場合
systemctl -a
または
systemctl --all
■読み込まれたユニットを一覧を表示する
読み込まれたが起動出来なかった場合はfailedと表示されます。
ユニットを停止した場合、そもそも読み込まれないため、この画面には表示されません。
systemctl
※systemctl list-units
※systemctl list-units --type=service
■読み込まれたが起動していない「failed表示」ユニットファイル一覧を表示する
systemctl --failed
■特定のターゲットにおいて有効化されているサービスを表示する
systemctl list-dependencies ターゲット名
■サービスのみを表示する
systemctl -t service
または
systemctl --type=service
■SysVサービスのみを表示する
※ネイティブなsystemdサービスは含まない。
chkconfig --list
ユニットに関するログ確認
■systemdのログ表示
journalctl
journalctl -r
※新しい順に表示
journalctl -u ユニット名
※そのユニットを指定して表示
journalctl -xn
■一般的なログの表示
tail -f /var/log/message
systemdでのファイル作成
ClamAVを設定している際、OS起動時にディレクトリを作成する必要が
あったためsystemdで作成しました。
該当ディレクトリへ移動
cd /etc/tmpfiles.d
既にサンプルとなるファイル(ここではnamed.conf)が有ったのでコピー
cp named.conf clamav.conf
vi clamav.conf
d /var/run/clamav 0755 root root -
これで起動時に正しく「/var/run/clamav」ディレクトリが作成されました。