HOW-TO: Set Up Automatic Updates in Ubuntu
Overview
This is how to quickly set-up and configure Ubuntu to perform automatic package updates and automated restarts (when necessary).
This tutorial is based on the following official Ubuntu Documentation article: Ubuntu Server Guide » Package Management » Automatic Updates
HOW-TO
Step 1: Package Installation
Install the unattended-upgrades package:
sudo apt install unattended-upgrades
This package may already be installed on your server.
Step 2: Configure Automatic Updates
Edit the configuration file for /etc/apt/apt.conf.d/50unattended-upgrades
sudo vi /etc/apt/apt.conf.d/50unattended-upgrades
Anything after a double slash “//” is a comment and has no effect. To “enable” a line, remove the double slash at the beginning of the line (replace with nothing or with spaces to keep alignment).
The most important: uncomment the “updates” line by deleting the two slashes at the beginning of it:
"${distro_id}:${distro_codename}-updates";
Optional: You should uncomment and adapt the following lines to ensure you’ll be notified if an error happens:
Unattended-Upgrade::Mail "[email protected]";
Unattended-Upgrade::MailOnlyOnError "true";
Recommended: remove unused kernel packages and dependencies and make sure the system automatically reboots if needed by uncommenting and adapting the following lines:
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
↑ You may have to add a semicolon at the end of this line. ↑
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Step 3: Enable Automatic Updates
Enable automatic updates and set up update intervals by running:
sudo vi /etc/apt/apt.conf.d/20auto-upgrades
In most cases, the file will be empty. Copy and paste the following lines:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
The time interval is specified in days, feel free to change the values. Save changes and exit.
Step 4: Verify Your Work!
You can see if the auto-upgrades work by launching a dry run:
sudo unattended-upgrades --dry-run --debug
Another way to check if automatic updates work is waiting a few days and checking the unattended upgrades logs:
cat /var/log/unattended-upgrades/unattended-upgrades.log