用語集:systemd・サービス

実務で頻出する「systemd・サービス」関連の用語を、一言定義+最小実例でサッと確認。
Linux の init システムである systemd の基本概念を整理し、サービス管理やユニット制御を理解します。

このページで達成できること

  • systemd の役割と仕組みを理解
  • サービス(ユニット)の起動・停止・再起動を習得
  • 永続化(enable/disable)と一時操作(start/stop)の違いを理解
  • 実務での落とし穴(ログ確認・依存関係・権限)を回避

すぐ引けるミニ索引

用語一言で代表コマンド/例
systemdLinux 標準の 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
timercron 代替の定期実行*.timer
slicecgroups に基づくリソース管理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 で一元化:独自スクリプトより堅牢

関連リンク(学習ハブ内)

学びを“実務”へつなぐ最短ルート

独学で積み上げた「わかった」を、仕事で使える「できる」へ。
学習ハブの内容を踏まえて、実務に直結する学習設計・添削・質問環境を整えたい人は、下記のページで具体的な進め方を確認してください。

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする