実務で頻出する「systemd・サービス」関連の用語を、一言定義+最小実例でサッと確認。
Linux の init システムである systemd の基本概念を整理し、サービス管理やユニット制御を理解します。
このページで達成できること
- systemd の役割と仕組みを理解
- サービス(ユニット)の起動・停止・再起動を習得
- 永続化(enable/disable)と一時操作(start/stop)の違いを理解
- 実務での落とし穴(ログ確認・依存関係・権限)を回避
すぐ引けるミニ索引
| 用語 | 一言で | 代表コマンド/例 |
|---|---|---|
| systemd | Linux 標準の init システム | systemctl |
| ユニット(unit) | systemd が管理する最小単位 | *.service, *.target |
| サービス(service unit) | 常駐プロセス管理 | nginx.service |
| systemctl | ユニット制御コマンド | systemctl start nginx |
| start/stop/restart | サービスの起動/停止/再起動 | systemctl restart sshd |
| enable/disable | 自動起動の有効/無効化 | systemctl enable nginx |
| status | サービス状態を確認 | systemctl status sshd |
| journalctl | ログ確認 | journalctl -u nginx |
| target | 起動レベルに相当 | multi-user.target |
| timer | cron 代替の定期実行 | *.timer |
| slice | cgroups に基づくリソース管理 | systemctl status user.slice |
用語解説(繰り返しブロック)
systemd
とは:Linux で主流の init システム。サービス起動・停止・依存解決・リソース制御を担う。
最小実例
systemctl --version
関連:SysVinit / Upstart / unit
落とし穴:古いチュートリアルは service コマンドを使っていることがある。
ユニット(unit)
とは:systemd が管理する最小の構成単位。サービス、ターゲット、マウントなどを含む。
最小実例
ls /usr/lib/systemd/system | grep .service
関連:*.service / *.target / *.timer
落とし穴:ファイル拡張子によって種類が異なる。
サービス(service unit)
とは:常駐プロセスやデーモンを管理するユニット。
最小実例
systemctl start nginx.service
関連:systemctl / enable
落とし穴:サービスによっては systemctl で開始してもすぐ落ちる(設定エラー)。
systemctl
とは:systemd ユニットを操作するコマンド。
最小実例
systemctl status sshd
関連:start / stop / restart / enable
落とし穴:root 権限が必要な操作が多い。
start / stop / restart
とは:サービスを即時操作するコマンド。
最小実例
systemctl restart sshd
関連:systemctl / enable
落とし穴:再起動しても再起動後の自動起動は設定されない。
enable / disable
とは:サービスを起動時に自動起動させる設定。
最小実例
systemctl enable nginx
関連:systemctl / start
落とし穴:enable しても即時起動はしない。
status
とは:サービスの稼働状態を確認する。ログや PID も表示。
最小実例
systemctl status nginx
関連:journalctl
落とし穴:status 出力だけではエラー原因が分からない → journalctl 併用。
journalctl
とは:systemd-journald が保持するログを確認するコマンド。
最小実例
journalctl -u nginx --since "10 min ago"
関連:status / syslog
落とし穴:root 権限がないと全ログが見られない。
target
とは:複数ユニットをまとめた起動レベルのような概念。
最小実例
systemctl get-default
関連:multi-user.target / graphical.target
落とし穴:古い「ランレベル」とは1対1対応しない場合がある。
timer
とは:systemd のタイマー機能。cron の代替として利用可能。
最小実例
systemctl list-timers
関連:cron / service unit
落とし穴:オンデマンド起動や依存関係を意識しないと動かない。
slice
とは:cgroups に基づくリソース制御の単位。ユーザーごと、サービスごとに分離管理。
最小実例
systemctl status user.slice
関連:cgroups / systemd
落とし穴:誤設定するとサービス起動できなくなる。
運用の現場Tips
- start/enable の違いを明確に理解 → 「即時起動」か「次回以降も起動」か
- ログ調査は journalctl 併用 →
statusだけでは不十分 - systemd timer を活用:cron の代替で依存関係も解決可能
- サービス管理は unit file で一元化:独自スクリプトより堅牢

