Disabling Automatic Updates in Ubuntu (LTS Versions)
This guide provides a comprehensive technical procedure for disabling automatic updates on Ubuntu 22.04, 24.04, and 26.04 (both Server and Desktop editions). These steps ensure that the system does not download or install packages without manual intervention.
Disabling Automatic Updates in Ubuntu (LTS Versions)
On modern Ubuntu systems, automatic updates are managed via unattended-upgrades, APT periodic configs, and systemd timers. To fully stop them, follow the steps below.
1. Disable the Unattended-Upgrades Service
First, stop and disable the main service responsible for automatic background installations.
Bash
sudo systemctl disable --now unattended-upgrades
sudo systemctl disable --now unattended-upgrades2. Configure APT Periodic Settings
Modify the APT configuration to stop the system from updating package lists and running upgrades automatically.
-
Edit the config file:
Bash
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
sudo nano /etc/apt/apt.conf.d/20auto-upgrades -
Set the values to "0":
Plaintext
APT::Periodic::Update-Package-Lists "0"; APT::Periodic::Unattended-Upgrade "0";
APT::Periodic::Update-Package-Lists "0"; APT::Periodic::Unattended-Upgrade "0";(Note: This is the official and most reliable method recommended by Ubuntu.)
3. Disable and Mask systemd Timers
Even if the service is disabled, systemd timers might attempt to trigger APT tasks.
-
Disable the timers:
Bash
sudo systemctl disable --now apt-daily.timer sudo systemctl disable --now apt-daily-upgrade.timer
sudo systemctl disable --now apt-daily.timer sudo systemctl disable --now apt-daily-upgrade.timer -
Mask the services (Hard Disable):
Masking prevents these services from being started by any other process or manually by mistake.
Bash
sudo systemctl mask apt-daily.service sudo systemctl mask apt-daily-upgrade.service
sudo systemctl mask apt-daily.service sudo systemctl mask apt-daily-upgrade.service
Desktop GUI Settings
If you are using a Desktop environment, you should also disable the GUI notifications:
-
Open "Software & Updates".
-
Navigate to the "Updates" tab.
-
Set "Automatically check for updates" to Never.
Verification
To ensure everything is correctly disabled, run the following checks:
-
Check Timers:
systemctl list-timers | grep apt(No active APT timers should appear). -
Check APT Config:
apt-config dump APT::Periodic(Should show both values as "0").
Reverting Changes (Enable Updates)
If you need to re-enable automatic updates in the future, run:
Bash
sudo systemctl unmask apt-daily.service apt-daily-upgrade.service sudo systemctl enable --now apt-daily.timer apt-daily-upgrade.timer unattended-upgrades
sudo systemctl unmask apt-daily.service apt-daily-upgrade.service
sudo systemctl enable --now apt-daily.timer apt-daily-upgrade.timer unattended-upgradesDon't forget to set the values back to "1" in /etc/apt/apt.conf.d/20auto-upgrades.
⚠️ Important Security Notice
By disabling automatic updates, you assume full responsibility for the security of your system.
-
Kernel security fixes will not be applied automatically.
-
Vulnerabilities in critical packages like OpenSSL or SSH will remain open.
-
Containers (Docker) may remain unpatched.
It is highly recommended to manually update your system at least once a week:
Bash
sudo apt update && sudo apt upgrade
sudo apt update && sudo apt upgrade