【システムディー】

systemd とは?

💡 Linuxの「総支配人」、サービスもログもタイマーもぜんぶ仕切る万能マネージャー
📌 このページのポイント
systemd の役割 systemd (PID 1) Linuxの総支配人 サービス管理 systemctl start systemctl enable ログ管理 journald journalctl タイマー .timer ユニット cron の代替 Unit ファイルの種類 .service .timer .socket .mount .target 依存関係を自動解析 → 並列起動で高速ブート
systemd の全体像
ひよこ ひよこ

systemdって何なの?Linuxの起動に関係あるの?

ペンギン先生 ペンギン先生

systemdはLinuxの「総支配人」みたいな存在だよ。カーネルが起動した直後に最初に動くプロセス(PID 1)で、そこからWebサーバーやデータベースなど他のすべてのサービスを管理するんだ

ひよこ ひよこ

前は別の仕組みがあったの?

ペンギン先生 ペンギン先生

以前はSysVinitという仕組みで、シェルスクリプトを順番に1つずつ実行してサービスを起動していたんだ。systemdはサービスの依存関係を自動的に解析して並列に起動できるから、起動時間が大幅に短縮されたんだよ

ひよこ ひよこ

systemctl ってコマンドはsystemdのものなの?

ペンギン先生 ペンギン先生

そう!systemctl start nginx でNginxを起動、systemctl stop nginx で停止、systemctl enable nginx で自動起動を有効化、といった具合に統一的に操作できるよ。systemctl status nginx でサービスの状態やログもすぐ見られるのが便利だね

ひよこ ひよこ

Unitファイルってどんなものなの?

ペンギン先生 ペンギン先生

サービスの定義書のようなもので、/etc/systemd/system/ に置くINI形式のテキストファイルだよ。起動コマンド、依存関係再起動ポリシーなどを記述する。たとえば自作のアプリをサービス化したいとき、.service ファイルを書けばsystemdに管理してもらえるんだ

ひよこ ひよこ

systemdって賛否両論あるって聞いたけど、なぜなの?

ペンギン先生 ペンギン先生

Unix哲学の「1つのことをうまくやる」に反して、サービス管理・ログ・タイマー・DNS解決・ネットワーク設定など多機能すぎるという批判があるんだ。一方で、それまでバラバラだったツールを統合して運用を楽にしたメリットも大きい。Devuan というsystemdを使わないディストリビューションもあるくらい、Linux界隈では今でもホットな議論だよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「systemd」って出てきたら「Linuxのサービス管理の中心的な仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「system daemon」 = システムデーモン
💬 system(システム)のdaemon(デーモン=常駐プログラム)を略した名前で、末尾のdは慣習的に小文字だよ
← 用語集にもどる