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/
(こっちが優先)
-