apt無人アップデート設定変更手順書
背景
Ubuntuでは毎日のように何かしらのパッケージのセキュリティアップデートが公開される。
アップデートをすべて自力で適用するのには無理があるので、自動的にアップデートが適用され、必要に応じて再起動するようにする。
無人アップデートを有効化し、アップデート完了直後に再起動するようにする。
1. aptの無人アップデート関係の設定ファイルをコピーする。
$ sudo cp -p /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/51unattended-upgrades
何かの拍子に上書きされる可能性がないとは言えないから。
aptでは/etc/apt/apt.conf.d/配下に設定ファイルを配置することになっている。
2. 新しい設定ファイルを次の内容で書き換える。
code:/etc/apt/apt.conf.d/51unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// Extended Security Maintenance; doesn't necessarily exist for
// every release and this system may not have it installed, but if
// available, the policy for updates is such that unattended-upgrades
// should also install from here by default.
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-proposed";
"${distro_id}:${distro_codename}-backports";
"download.docker.com/linux/ubuntu:${distro_codename}";
};
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "now";
無人アップデートのタイマーを書き換える。ここでは、2時頃と14時頃に更新を確認・ダウンロードして、4時頃に適用し、必要に応じて再起動するようにする。
1. タイマーをコピーする。
$ sudo cp -p /lib/systemd/system/apt-daily.timer /etc/systemd/system/apt-daily.timer
$ sudo cp -p /lib/systemd/system/apt-daily-upgrade.timer /etc/systemd/system/apt-daily-upgrade.timer
2. 新しいタイマーを次の内容で書き換える。
code:/etc/systemd/system/apt-daily.timer
Description=Daily apt download activities
OnCalendar=*-*-* 2,14:00
RandomizedDelaySec=60m
Persistent=true
WantedBy=timers.target
code:/etc/systemd/system/apt-daily-upgrade.timer
Description=Daily apt upgrade and clean activities
After=apt-daily.timer
OnCalendar=*-*-* 4:00
RandomizedDelaySec=60m
Persistent=true
WantedBy=timers.target
3. 書き換えたタイマーを反映する。
$ sudo systemctl reenable apt-daily.timer
正常な場合、Removed /etc/systemd/system/timers.target.wants/apt-daily.timer. Created symlink /etc/systemd/system/timers.target.wants/apt-daily.timer → /etc/systemd/system/apt-daily.timer.と出力される。
$ sudo systemctl reenable apt-daily-upgrade.timer
正常な場合、Removed /etc/systemd/system/timers.target.wants/apt-daily-upgrade.timer. Created symlink /etc/systemd/system/timers.target.wants/apt-daily-upgrade.timer → /etc/systemd/system/apt-daily-upgrade.timer.と出力される。
参考にした資料