Linux

Where Does Fedora Silverblue Keep Deployments and Data?

Silverblue keeps system images as ostree deployments, with only /etc and /var writable and home shared across boots.

Last updated

Silverblue never patches the running system. Updates stage a new ostree deployment beside the current one, and rebooting swaps to it. The previous deployment stays bootable from GRUB until cleanup, which makes rollbacks a boot menu pick rather than a restore job.

Only /etc and /var accept writes; /usr stays read only always. Home and /var ride across every deployment untouched. Layered packages and local RPMs attach to deployments through rpm-ostree status, and pinning keeps a known good image while experimenting.

Where Fedora Silverblue stores this, by platform

Linux
/sysroot/ostree

Repo plus per deployment checkouts. Inspect with rpm-ostree status, pin good ones, prune with cleanup. Home and var persist outside it.

Linux
/etc

Writable overlay merged three ways on upgrade. System password data and machine configs live here while /usr stays immutable.

Frequently asked questions

How do I roll back a bad Silverblue update?

Pick the previous GRUB entry to test, then run rpm-ostree rollback to make it permanent. Pin good deployments first so cleanup never eats them.

How do I install software not on Flathub?

Use rpm-ostree install for the package, or better a Toolbox container or Flatpak. Layering too much defeats the immutable model and slows every update.

Do my /etc edits survive upgrades?

Nothing breaks. Writes merge three ways with the new defaults on upgrade, and layered packages carry across to the new deployment.

Notice an outdated path? Let us know.