How to enable automatic system updates in Fedora Silverblue
Fedora Silverblue includes functionality to automatically stage and deploy system updates. While this functionality is available out of the box, it is not enabled by default. When enabled, the system will download and prepare new updates in the background of regular system usage. After the update is committed and the new system image is built, the new image will be used the next time the system is booted. In practice this means that every time you boot up to use your PC new updates could have been implemented.
Verify if automatic updates are enabled or disabled
To verify if automatic updates are enabled, run the following:
$ rpm-ostree status
If the output starts with something similar to the following, then automatic updates are already enabled:
State: idle; auto updates enabled (check; last run 22min ago)
...
How to enable automatic updates
Note, all the following commands need to be run as root or with sudo.
First, we need to update the system config. You can do so with the following command as an administrative user:
# sed -i 's/check/stage/g' /etc/rpm-ostreed.conf
Next, reload system service:
# rpm-ostree reload
Finally, enable an system timer that will automatically check for updates:
# systemctl enable rpm-ostreed-automatic.timer --now
To verify if the system has staged a new update, run:
$ rpm-ostree status
All done! Automatic updates are now enabled.
Further reading
For more information, you can find the man page about enabling this feature by running the following:
$ man rpm-ostreed.conf