Fedora Silverblue
Silverblue is an immutable, image-based Fedora desktop built on rpm-ostree - the OS is a read-only OSTree deployment you update atomically and can roll back. These are notes from real use, not official docs.
Status and updates
$ rpm-ostree status # current + previous deployments (* = booted)
$ rpm-ostree upgrade # stage the latest update; reboot to apply
$ systemctl reboot
Layering packages
Install RPMs on top of the base image (a reboot applies them):
$ rpm-ostree install vim-enhanced
$ rpm-ostree uninstall vim-enhanced
$ rpm-ostree install --apply-live htop # apply without reboot (experimental)
Keep the base image lean and do most dev work in a container (see toolbox
below) rather than layering everything onto the host.
Rolling back and pinning
$ rpm-ostree rollback # boot the previous deployment
$ ostree admin pin 0 # pin the current deployment so it is not GC'd
Rebasing to a new release
$ rpm-ostree rebase fedora:fedora/42/x86_64/silverblue
You can also override a single package from a Bodhi update, e.g. to test a fix:
$ rpm-ostree override replace --experimental --from repo=updates-testing <pkg>
toolbox - a mutable dev container
toolbox gives you a Fedora container that shares your home directory, so you
can dnf install freely and keep the host image clean:
$ toolbox create
$ toolbox enter
$ sudo dnf install gcc make # inside the toolbox, like a normal Fedora