systemd ユニットファイルを自作する
Pro会員限定上級約40分7レッスン
既存ユニットを systemctl cat で読み解き、自分のサービスをユニットファイルとして書きます。systemd-analyze verify で検査し、daemon-reload → start → enable --now で本番運用に載せます。203/EXEC の起動失敗も自力で直せるようになります。
対象者: 自作アプリやスクリプトを「サービス」として運用したい方
前提知識: 中級「自動起動を設計する」修了程度
この教材を終えると、できるようになること
- systemctl cat でユニットファイルの場所と中身を確認し、[Unit] [Service] [Install] の役割を説明できるようになる。
- [Unit] [Service] [Install] の最小構成でユニットファイルを書き、systemd-analyze verify で検査できるようになる。
- verify の警告からユニットファイルの誤りを特定し、sed -i.bak でバックアップを残しながら修正できるようになる。
- ユニットファイルを /etc/systemd/system に置き、daemon-reload・start・status の順で起動を確認できるようになる。
- systemctl enable --now で起動と自動起動の登録を同時に行い、is-enabled / is-active で確認できるようになる。
- status=203/EXEC の意味を理解し、ExecStart のパスを修正して daemon-reload・restart で復旧できるようになる。
修了後の姿: 障害の根本原因をログとコマンドで突き止められる、チームに頼られる運用エンジニアへ。
Chapter 1ユニットを書いて載せる
systemctl で「使う」側から、ユニットファイルを「書く」側へ。
- 既存のユニットファイルを読むsystemctl cat でサービスの定義を見る約5分(有料会員限定)
- ユニットファイルを書く最小構成の service ユニットを作る約7分(有料会員限定)
- systemd-analyze verify で間違いを見つける1文字のタイポがサービスを殺す約6分(有料会員限定)
- 配置して daemon-reload → startsystemd に新しいユニットを読み込ませて起動する約6分(有料会員限定)
- enable --now で自動起動まで一気に起動と自動起動の登録を1コマンドで約5分(有料会員限定)
- 203/EXEC を読んで直す「実行ファイルが見つからない」起動失敗約6分(有料会員限定)
Chapter 2確認クイズ
ユニットファイルの理解度をチェック。