Atomic System Updates on Fedora Silverblue: Using rpm-ostree for Safe Upgrades and Rollbacks
Learn how Fedora Silverblue’s OSTree‑based updates let you upgrade atomically and roll back instantly, with a concrete upgrade‑verify‑rollback example and notes on layered packages and driver limitations.
12 Apr 2026, 13:00 UTC

Problem: Wanting a reliable way to update a Fedora workstation without risking an unbootable system
Many desktop users hesitate to apply system updates because a failed upgrade can leave the machine unable to boot, requiring a rescue image or reinstall. Fedora Silverblue addresses this by treating the operating system as an immutable, versioned tree, similar to a Git repository. Each upgrade creates a new deployment that shares unchanged files with the previous one via hard links, allowing instant rollback if something goes wrong.
Thesis: The rpm-ostree tool provides atomic upgrades, easy rollbacks, and a clean separation between the base image and user‑installed software, making system maintenance predictable and safe.
How OSTree enables atomic upgrades
OSTree stores the root filesystem as a series of commits. When you run rpm-ostree upgrade, the tool downloads the newest commit, applies it atomically, and marks it as the default boot entry. A reboot switches to the new deployment; the old deployment remains unchanged on disk, ready to be selected again.
Layered packages keep the base pristine
Because the base image is read‑only, traditional dnf cannot modify system packages directly. Instead, you add software with rpm-ostree install package. These layered packages are stored in an overlay that persists across rebases and upgrades, while the underlying OSTree commit stays untouched.
Worked example: Upgrading to the next Fedora release and verifying the result
- Check the current deployment (run in a terminal with standard user privileges):
Look for the linerpm-ostree statusState: deployedand note theCommitidentifier. - Apply the upgrade (requires sudo):
The command downloads the new commit, stages it, and reports a success message. No reboot occurs yet.sudo rpm-ostree upgrade - Reboot to activate the new deployment:
After the boot loader menu appears, the default entry will be the newly deployed commit.sudo systemctl reboot - Verify the upgrade (standard user):
Expected output shows the newer Fedora version, e.g.,grep VERSION_ID /etc/os-releaseVERSION_ID="40". You can also runrpm-ostree statusagain to see the new commit marked asDeployedand the previous one asAvailable. - Optional: Test a rollback (if the new deployment behaves unexpectedly):
- Reboot and hold Shift (or Esc) to access the GRUB menu.
- Select “Fedora Silverblue” → “Previous boot entry” (or the entry with the older timestamp).
- After boot, run
rpm-ostree statusto confirm you are back on the earlier commit.
Trade‑off and limitation: Read‑only base image and kernel modules
The immutable base protects the system but means that any software that expects to write into /usr (such as certain proprietary drivers or kernel modules that install files directly) cannot be installed via dnf. You must either:
- Package the driver as a layered RPM with
rpm-ostree install, ensuring it only places files in/varor/usr/local, or - Use an Akmods‑style build that compiles the module against the running kernel and stores the result in the overlay.
This adds a step compared to traditional Fedora Workstation, but it keeps the base image clean and guarantees that rollbacks will not leave stray kernel modules behind.
Actionable closing: Checklist for safe system maintenance on Silverblue
- Run
rpm-ostree statusbefore any upgrade to know your starting commit. - Use
sudo rpm-ostree upgradeto stage the new deployment. - Reboot and verify the new version with
grep VERSION_ID /etc/os-release. - If needed, roll back via GRUB or
sudo rpm-ostree rollbackand confirm the earlier commit. - Add only essential software through
rpm-ostree install; prefer Flatpak or containerized apps for GUI programs. - Periodically clean old deployments with
sudo rpm-ostree cleanup --rebootto free space.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.