Fedora Silverblue is an immutable desktop operating system built on top of rpm‑ostree. Instead of traditional package-based upgrades, Silverblue uses atomic deployments, making the system extremely stable, reliable, and easy to roll back. This blog-style guide shows you how to update your system, manage deployments, upgrade to new Fedora versions, and keep Flatpak applications current — all using simple terminal commands. Tested on VirtualBox.
Check your current system state
Before updating, it is useful to inspect your current deployment and any layered packages.
rpm-ostree statusMost apps in Silverblue come from Flatpak.
sudo su
flatpak update
Perform a standard system update
This updates your Silverblue installation to the latest available deployment for your current Fedora release.
sudo rpm-ostree upgrade
systemctl reboot
Clean up old deployments
Silverblue keeps multiple system deployments so you can roll back if needed. You can safely clean older ones to free space and reduce clutter.
rpm-ostree status
sudo rpm-ostree cleanup -p
sudo rpm-ostree cleanup -m
Roll back if something breaks
If an update causes issues, you can revert to the previous deployment quickly and safely.
rpm-ostree status
sudo rpm-ostree rollback
systemctl reboot
Rebase to a new Fedora Silverblue version
Major upgrades are done via rebase. Replace 41 with your target Fedora version. I used Fedora 44 and I keep that version.
rpm-ostree status
sudo rpm-ostree rebase fedora:fedora/41/x86_64/silverblue
systemctl reboot
Manage layered RPM packages
Although Silverblue is immutable, you can still layer RPM packages on top of the base image. Here is how to inspect and remove them.
rpm-ostree status
sudo rpm-ostree uninstall package-name
systemctl reboot
Troubleshooting tips
If updates fail or downloads hang, you can refresh metadata or inspect rpm-ostree logs.
sudo rpm-ostree refresh-md
journalctl -u rpm-ostreed