【システムディー】
systemd とは?
最終更新:
💡 Linuxのサービスを、定義と依存関係で管理するまとめ役
systemdは、Linuxのシステムとサービスを管理する仕組みです。PID 1としての役割、ユニット、systemctlの起動と自動起動の違い、ログ・タイマーとの関係を説明します。
📌 このページのポイント
Linuxの起動に関係するの?
ユニットは、サービスの定義書?
サービスの.serviceだけでなく、タイマーの.timer、マウントの.mount、まとめる.targetなどがあるよ。ユニットファイルはINI形式に似た設定を使う。管理者の設定を置く/etc/systemd/system/など、読まれる場所や優先順位も決まっているんだ。
enableすれば、その場で起動する?
startは今起動する操作、enableは設定に基づいて起動時などに組み込む操作だよ。enableだけでは、その場で起動しない。両方行うenable --nowもある。たとえば存在するnginx.serviceに対して「systemctl start nginx.service」で起動できるけれど、対象と権限を確認しよう。
依存関係があれば、起動順も自動で分かる?
必要なユニットを起動する関係と、順序は別の設定だよ。RequiresやWantsと、AfterやBeforeを区別する。順序の依存がない対象は同時に起動できるけれど、起動時間はサービスや構成で変わる。従来より必ず速い、とは言い切れないね。
関連する仕組みとしてjournaldでログを扱い、journalctlで読むことができる。.timerは条件に沿ってユニットを起動するよ。サービスの再起動も設定によるので、障害時に必ず自動復旧するわけではない。statusやログで状態を見て、使う機能の設定を確認しよう。
まとめ:ざっくりこれだけ覚えればOK!
「systemd」って出てきたら「Linuxのシステムとサービスを管理する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「systemd」 = システム管理デーモンの名前
💬 末尾のdはdaemon(デーモン)を連想させる名前だよ。表記はsystemdで、先頭を大文字にはしない。