Auto-Updates and Manual Rollbacks
bootc
Fedora/CentOS bootc provides atomic updates and rollbacks via bootc deployments for the host system.
By default, the OS performs continual auto-updates via a stock copy of the upstream
bootc-fetch-apply-updates.timer
and corresponding bootc-fetch-apply-updates.service
.
podman
Additionally for referenced application containers, the podman-auto-update.timer unit can be enabled to automatically upgrade workload container images that are explicitly configured to opt-in to automatic updates. The containers can also be rolled back when properly configured. Please refer to the following article for details.
Manual Rollbacks
When an update is complete, the previous OS deployment remains on disk. If an update causes issues, you can use it as a fallback. By default, this is a manual operation, but you can automate it.
Temporary rollback (interactive)
To temporarily boot the previous OS deployment, hold down Shift
during the OS boot process. When the bootloader menu appears, select the relevant OS entry in the menu.
Reverting via CLI/script
To cause the previous OS deployment to be the next boot:
# Mark the previous OS deployment as the default, and immediately reboots into it
bootc rollback
Please note that the default bootc-fetch-apply-updates.timer
will keep looking for updates and upgrade to any new available OS deployment, other than the one you just reverted.
If you prefer, you can temporarily turn off auto-updates. Later on, you can re-enable them in order to let the machine catch up with the usual flow of updates:
systemctl disable --now bootc-fetch-apply-updates.timer
[...]
# At a later point, re-enable it to track updates to your container image.
systemctl enable --now bootc-fetch-apply-updates.timer
Want to help? Learn how to contribute to Fedora Docs ›