Modern Ubuntu installations rely heavily on “Snaps,” a containerised software packaging system developed by Canonical. By design, the Snap daemon (snapd) runs silently in the background and automatically checks for and downloads application updates up to four times a day. Unlike traditional APT packages, you are not prompted to approve these updates; they simply happen invisibly.
While this ensures your applications are always secure, it can be a massive problem if you are on a metered internet connection, using a mobile hotspot, or running a production server where sudden background updates might break compatibility or consume critical bandwidth. If you want absolute, manual control over when your software updates, you need to reign in the Snap daemon.
Pausing Snap Updates Globally
Ubuntu does not provide a simple “Turn off automatic updates” toggle for Snaps in the graphical interface. You must use the terminal. While you cannot permanently disable them forever (Canonical designed the system to resist this), you can pause them for incredibly long periods or restrict them to specific hours.
To effectively pause all background Snap updates, open a Terminal (Ctrl + Alt + T) and use the refresh.hold command to tell the daemon not to update anything until a date far in the future.
- Type the following command to halt updates for a very long time (e.g., until the year 2099):
sudo snap set system refresh.hold=2099-01-01T00:00:00Z - Press Enter and type your administrator password.
The system will accept the configuration instantly. The Snap daemon will check the clock, see that the hold date has not arrived, and abort any background downloads.
Restricting Updates to Specific Hours
If you do want automatic updates but simply do not want them happening while you are actively working or gaming, you can restrict the daemon to only run during a specific time window, such as the middle of the night.
- Open a Terminal.
- Type the following command to restrict updates to between 2:00 AM and 4:00 AM:
sudo snap set system refresh.timer=02:00-04:00 - Press Enter.
By scheduling the updates, you ensure your system remains secure while preventing unexpected lag spikes during your workday.