systemd ユニットの概要、一般的なユニットタイプ、および systemctl を使用してサービスを開始、停止、有効化、確認する方法について解説します。
systemd ユニットは、ほとんどの Linux ディストリビューションの init システムである systemd が管理する設定オブジェクトであり、サービス、ソケット、タイマー、マウントなどを扱います。ユニットは /etc/systemd/system/<name>.service といったユニットファイルで記述され、systemctl コマンドで制御されます。
.service はプログラムを実行し、.socket は接続が到着したときにサービスを開始し、.timer はスケジュールに基づいてユニットを実行し、.mount および .automount はファイルシステムを処理し、.target は multi-user.target のような状態にユニットをグループ化します。
パッケージは /usr/lib/systemd/system (または /lib/systemd/system) にユニットをインストールします。ローカルでの変更は /etc/systemd/system に配置し、こちらが優先されます。'systemctl edit <unit>' を使用すると、パッケージ化されたファイルを直接変更する代わりに、ドロップイン形式のオーバーライドを作成できます。
'systemctl status <unit>' は状態と最新のログ行を表示します。'start'、'stop'、'restart' は即時に実行され、'enable' と 'disable' は起動時の開始を制御します。'enable --now' はその両方を行います。'systemctl --failed' は失敗したユニットを一覧表示し、'systemctl daemon-reload' は変更後にユニットファイルを再読み込みします。
systemctl --failedsystemctl status <unit>journalctl -u <unit> -bsudo systemctl restart <unit>/usr/lib/systemd/system 内のファイルを直接編集せず、'systemctl edit' を使用してパッケージ化されたユニットを変更してください。アップデートによって上書きされるためです。最終更新: 2026-10-08
journalctl を使用したログの読み取り方法、ジャーナルが使用している容量の確認方法、および --vacuum オプションを使用して安全に縮小する方法について解説します。
cron がどのようにスケジュールされたジョブを実行するか、crontab の5つの時間フィールド、システム cron ファイルの場所、および systemd タイマーとの比較について解説します。
logrotateの機能、/etc/logrotate.confおよび/etc/logrotate.dでの設定方法、ルールを安全にテストする方法について解説します。