One of the best features of Fedora Silverblue is that it allows you to safely and easily try and switch between several variants of the distro. Here's how you can use a process known as "rebasing" to explore different versions of this unique Linux distribution.

Although none of the following commands are destructive, it’s always best to back up your data before changing options in your operating system in case something goes wrong.

Preparing to Rebase Fedora Silverblue

For this process, you'll have to work with the command line. So go ahead and open a terminal window.

The first thing you'd want to do is “pin” your current Silverblue deployment to make sure that you can come back to it. To do this, enter the following two commands at your terminal prompt:

        sudo ostree admin pin 0
rpm-ostree status

The output of the last command will show all of the current Silverblue deployments installed on your system. You should see at least two entries but there may be more depending on how you have your system set up.

Silver Blue Pinned Deployment

The deployment that you are currently running should be the first on the list. To be certain, look for the white dot in front of the first line of the deployment listing. You should also see the words Pinned: yes at the end of the listing.

If you have more than one image pinned, that’s fine, too. The important thing is to make sure that you have a known, working version of your operating system pinned. This will guarantee that if something goes wrong, you can boot your system back into its current state and undo any changes.

Finding Fedora Versions Available to Install

To find the current versions of Fedora Silverblue that you can install, you’ll need to look up the most recent list of Fedora remotes. To do this, enter the following command:

        ostree remote refs fedora
    

The output of this command will show many options. Most of them, however, are specialized versions of Fedora designed for specific types of devices. The ones that you'd usually need contain x86-64 in the middle of the remote’s name. At the same time, you want to avoid those that contain the words testing or updates.

Fedora Silverblue remote refs

As highlighted above, you should see at least one version of both Silverblue and Kinoite. Kinoite is a variant of Silverblue built around the KDE Plasma desktop. The two-digit number in the remote’s name is the Fedora version number.

You can also see near the bottom there are two corresponding rawhide versions. Rawhide is Fedora’s unstable development branch. You can install these images to see the absolute latest builds of future Fedora releases.

At some point, the release that will become Fedora 37 will be branched from rawhide and a remote for version 37 will appear in the list. You can always check the Fedora website to see what the current stable release is. If you find a version in the list that is higher than the current release version, it will be a beta version of an upcoming Fedora release.

If you scroll back further in the list, you’ll also see images for a few of the previous versions of Fedora. These might come in handy if you need to test something with a slightly older version.

How to Rebase Your Silverblue System to a New Version

Now that you know which versions are available, rebasing your current system is easy. First, highlight and copy the entire name of the remote for the version you want to install. Then, enter the command below, substituting the remote of your choice:

        rpm-ostree rebase fedora:fedora/36/x86_64/kinoite
    

When you hit Enter, your system will begin downloading the new image and set it up for deployment. It will take at least a few minutes to download, but may take longer depending on the speed of your computer and internet connection.

When the process completes, simply reboot your computer and your system will automatically boot into the new OS image that you’ve chosen. All of your user data and files will stay intact.

You Can Pin as Many Deployments as You Want

If you would like to keep various versions of Silverblue/Kinoite for testing or entertainment, you can pin as many deployments as you like and they will remain in your GRUB boot menu.

Fedora Silverblue 3 deployments

To pin any deployment, first, list the deployments you have installed.

        rpm-ostree status
    

You’ll need the deployment number of the version you want to pin. The first entry in the list will be deployment 0. For example, in the screenshot above, the rawhide deployment is 0, Kinoite is 1, and Silverblue is 2.

Once you know which item you’d like to pin, enter the command below, substituting the number for the deployment you want to pin on the GRUB boot menu:

        sudo ostree admin pin 1
    

You can also unpin any pinned entry by entering the following command using the same numbering system:

        sudo ostree admin pin --unpin 1
    

Deployments that you unpin will not be removed from your boot menu until the next time you run an upgrade or rebase the system. When the OSTree image updates, it'll automatically remove the unwanted images.

Fedora Silverblue Multiversion grub

With multiple OSTree images installed, you can boot into whichever one you’d like to use at any time. This change will not affect files inside your home directory.

How to Roll Back or Undo Changes

If, after rebasing to a new image, you decide you want to go back to your original system, you have two options.

First, if you’ve only done the rebase process once, all you have to do is let the system boot into the default OSTree image, open a terminal, and type the following command:

        rpm-ostree rollback
    

This will undo the last change that was made and restore the previous OSTree image as the default boot option. This command will also work to undo any updates that might break something on your system. Just give it a few moments to undo the changes, then reboot, and you’ll be back to where you started.

If you’ve made more than one change, the rollback command most likely won’t take you back to where you want to be. In this case, all you’ll need to do is simply rebase your system one more time to the version that you want to be running. From there you can unpin any other boot entries that you no longer want.

What Else Can You Do With Fedora Silverblue?

Even though Silverblue (and its variants) is an immutable system, that doesn’t mean you can’t customize it to meet your needs or tastes. There’s plenty more to explore with Fedora Silverblue.