noob

底辺オペレーターのメモ

CentOS 7 から標準になった systemd に慣れる

CentOS 7 になって大きく変わったものに systemd がある. 今までの SystemV init と勝手が全然違うのでメモしておく.

概要

  • SystemV init/upstartに替わるもの.
  • SystemV init スクリプトと互換性のあるLinux用システム・サービスマネージャ.
  • サービスの起動を積極的に並行化する.
  • サービス起動時にソケットとD-Busを有効にし必要なサービスの開始とcgroupsによる管理ができる.
  • 自動マウント,マウントポイントの維持,依存に基づいたサービスのコントロール.

ユニット

  • ユニットには以下のようなものがある.
    • サービス (.service)
    • マウントポイント (.mount)
    • デバイス (.device)
    • ソケット (.socket)
  • systemctl コマンド使用時は拡張子を含むユニットファイルの完全な名前を指定する.

    • sshd.socket

関連操作

やりたいこと 実行するコマンド
実行中ユニットの一覧 # systemctl list-units
失敗したユニットの一覧 # systemctl list-units --failed
インストールされているユニットの一覧 # systemctl list-unit-files
ユニットを実行 # systemctl start <unit>
ユニットを停止 # systemctl stop <unit>
ユニットを再起動 # systemctl restart <unit>
ユニットにリロードさせる # systemctl reload <unit>
ユニットのステータスを確認 # systemctl status <unit>
ユニットが自動起動か確認 # systemctl is-enabled <unit>
ユニットを自動起動させる # systemctl enable <unit>
ユニットを自動起動させない # systemctl disable <unit>
ユニットのマニュアルを参照する # systemctl help <unit>
systemd のリロード # systemctl daemon-reload
  • 実行可能なユニットファイルは以下の場所にある
    • /usr/lib/systemd/system/
    • /etc/systemd/system/ (こっちが優先)

参考