【ZORIN OS(Ubuntu)】aptの自動実行の設定
Debian系には自動でapt upgrade(パッケージ更新)を実行してくれる「unattended-upgrades」があるため、それの設定方法のメモ。
なんと自分でcrontabでスケジュールを作る必要がないのである。
Debian系なので当然Ubuntuがベースのものもすべて使えます。今回はZorinOS 17.3。
1./etc/apt/apt.conf.d配下の確認
unattended-upgradesはデフォルトで入っているため、/etc/apt/apt.conf.d配下に以下のファイルがあるかを念の為確認。
/etc/apt/apt.conf.d/10periodic
/etc/apt/apt.conf.d/20auto-upgrades
/etc/apt/apt.conf.d/50unattended-upgrades
デフォルトで入っているどころか、OS入れた時点から実は自動で動作もしているらしい。
以下、20auto-upgradesのファイルを見てみると・・・
$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Unattended-Upgrade "1";
となっており、Unattended-Upgradeが有効になっていることを示しています。
※正確に言うと、「1」は毎日動くことを示すらしい?
2.自動アップデートの有効化
バックアップを取りつつ、標準パッケージの自動アップデートを有効します。
$ sudo cp -a /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak
$ sudo vi /etc/apt/apt.conf.d/50unattended-upgrades
// "${distro_id}:${distro_codename}-updates";
3.実行時間の変更
特に変更する必要はないですが、変更するのであれば、以下のファイルを変更します。
$ sudo vi /lib/systemd/system/apt-daily-upgrade.timer
[Unit]
Description=Daily apt upgrade and clean activities
After=apt-daily.timer[Timer]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60m
Persistent=true[Install]
WantedBy=timers.target
$ sudo vi /lib/systemd/system/apt-daily.timer
[Unit]
Description=Daily apt download activities[Timer]
OnCalendar=*-*-* 6,18:00
RandomizedDelaySec=12h
Persistent=true[Install]
WantedBy=timers.target
apt-daily-upgrade.timerはapt upgradeを18時に実行
apt-daily.timerはapt updateを6時と18時に実行
となる。
4.systemdで再起動
設定を反映させるため、systemdで再起動します。
$ sudo systemctl restart apt-daily.timer
$ sudo systemctl status apt-daily-upgrade.timer