Ubuntu 22.04 では、unattended-upgrades によってセキュリティ更新を自動適用できます。手動で apt update / apt upgrade を実行する運用と、自動更新をどこまで許可するかは分けて考える必要があります。
この記事では、unattended-upgrades の基本、更新対象、通知、自動再起動、ログ確認、手動アップデートとの役割分担を整理します。
unattended-upgrades とは
unattended-upgrades は、APT の更新を自動実行するための仕組みです。Ubuntu では主にセキュリティ更新を自動適用する目的で使われます。
| 項目 | 役割 |
|---|---|
20auto-upgrades | パッケージ一覧更新と自動更新の周期を制御する |
50unattended-upgrades | 自動更新の対象、通知、自動再起動などを制御する |
/var/log/unattended-upgrades/ | 自動更新の実行ログを確認する |
/var/run/reboot-required | 再起動が必要か確認する |
手動 apt upgrade との違い
手動アップデートは、運用者が更新対象を確認して実行する方式です。一方、unattended-upgrades は、設定された範囲の更新を自動で適用します。
サーバー運用では、セキュリティ更新は自動適用し、通常更新や大きな変更は手動で確認する、という分け方が現実的です。
| 方式 | 向いている用途 | 注意点 |
|---|---|---|
| 手動更新 | 更新内容を確認して適用する | 定期的に運用者が実行する必要がある |
| 自動更新 | セキュリティ更新を継続的に適用する | 再起動や通知の方針を決める必要がある |
| 構成管理 | 複数台の更新方針を揃える | 入力待ち、再起動、メンテナンス時間帯を設計する |
現在の設定を確認する
まず自動更新が有効か確認します。
cat /etc/apt/apt.conf.d/20auto-upgrades一般的には次のように設定されます。
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";自動更新の対象を確認する
自動更新の対象は /etc/apt/apt.conf.d/50unattended-upgrades で確認します。Ubuntu のセキュリティ更新だけを対象にするのか、通常更新も含めるのかは運用方針によります。
grep -A20 'Allowed-Origins' /etc/apt/apt.conf.d/50unattended-upgradesサーバー運用では、まずセキュリティ更新を中心に自動化し、通常更新は手動確認に残す方が無難です。通常更新まで自動化すると、サービス再起動や設定変更の影響を受ける可能性が高くなります。
通知を設定する
自動更新の結果をメールで受け取る場合は、メール送信できる環境が必要です。ローカル MTA、SMTP リレー、外部メールサービスなど、通知経路を先に整えます。
設定例です。宛先は環境に合わせて変更します。
sudo cp -a /etc/apt/apt.conf.d/50unattended-upgrades \
/etc/apt/apt.conf.d/50unattended-upgrades.bak.$(date +%Y%m%d%H%M%S)
sudo tee /etc/apt/apt.conf.d/52unattended-upgrades-mail >/dev/null <<'EOF'
Unattended-Upgrade::Mail "admin@example.com";
Unattended-Upgrade::MailReport "on-change";
EOFMailReport は通知頻度に関係します。すべて通知するのか、変更があったときだけ通知するのかは、運用のノイズ量を見て決めます。
自動再起動をどう扱うか
カーネル更新などでは再起動が必要になることがあります。unattended-upgrades には自動再起動設定もありますが、サーバー用途では慎重に扱います。
| 方針 | 利点 | 注意点 |
|---|---|---|
| 自動再起動しない | 予期しない停止を避けやすい | 再起動待ちを放置しない運用が必要 |
| 時間指定で自動再起動する | セキュリティ更新を完了しやすい | サービス影響とメンテナンス時間帯を決める必要がある |
| 監視・構成管理から再起動する | 複数台の制御をしやすい | 運用設計が必要 |
自動再起動を有効にする場合の例です。
sudo tee /etc/apt/apt.conf.d/53unattended-upgrades-reboot >/dev/null <<'EOF'
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
EOFここでは false のまま例示しています。実際に自動再起動を有効にする場合は、サービス影響、監視通知、バックアップ時間帯との重なりを確認してから判断します。
ログを確認する
自動更新が動いたかどうかはログで確認します。
sudo tail -n 100 /var/log/unattended-upgrades/unattended-upgrades.log
sudo tail -n 100 /var/log/apt/history.log/var/log/apt/history.log では、手動実行と自動実行のコマンドラインが分かれます。/usr/bin/unattended-upgrade が出ていれば、自動更新による実行です。
再起動が必要か確認する
自動更新後も、再起動が必要な状態か確認します。
if [ -f /var/run/reboot-required ]; then
cat /var/run/reboot-required
fi
if [ -f /var/run/reboot-required.pkgs ]; then
cat /var/run/reboot-required.pkgs
fiプロキシ環境での注意
プロキシ環境では、自動更新も APT のプロキシ設定に依存します。手動の apt update が通るだけでなく、タイマー実行時にも必要な設定が読み込まれるか確認します。
apt-config dump | grep -i proxy
systemctl list-timers | grep aptまとめ
Ubuntu 22.04 の unattended-upgrades は、セキュリティ更新を自動適用するために有用です。ただし、何を自動更新するか、通知をどう受けるか、再起動をどう扱うかを決めないまま有効にすると、運用上の不安が残ります。
手動更新は内容確認、自動更新はセキュリティ更新の継続適用、構成管理は複数台の統制、というように役割を分けると扱いやすくなります。
書籍
Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
関連記事
- Ubuntu 22.04 apt update / apt upgrade の基本 – 手動アップデートの確認手順
- Ubuntu 22.04 APT コマンドの TUI を抑止
- WordPress のメール送信が遅い原因 – sendmail、Postfix、名前解決を切り分ける
- Ubuntu 22.04 Postfix ローカル MTA – サーバー通知メールの最小構成
- Ubuntu 22.04 MOTD NEWS の外部通信を停止する – ログイン時の不要な通信を抑える
- Ubuntu 22.04 設定マニュアル


