Getting Started With Fedora Silverblue: A Flatpak-Only Version of Fedora Linux
Fedora Linux is one of the most well-known versions of the Linux operating system. This community-run Linux distribution, sponsored by Red Hat, prides itself on developing and introducing the software that eventually makes its way to other Linux distros.
Fedora Silverblue packages and uses that software in a way different from the traditional Linux desktop model, one that may become the way forward for Fedora and, possibly, other Linux distros. You can already use it today, and here’s why you might want to.
What Is Fedora Silverblue?
Fedora Silverblue is a version of Fedora Linux centered around rpm-ostree and Flatpak. In a nutshell, this provides Linux with the kind of security and app distribution seen on mobile phones and Chromebooks. To understand Fedora Silverblue, it helps to understand these two technologies first:
What Is rpm-ostree?
Instead of distributing an operating system consisting of hundreds of packages, Silverblue provides your system as a single image. When updates arrive, rather than downloading newer versions of specific packages, such as the system components and libraries that operate in the background, Silverblue provides a single newer image that contains these updates.
This comes with a few big benefits. One is stability. Your system won’t fail to boot or malfunction because a single package is missing or corrupted. Instead, your system is one big all-or-nothing image. But if a problem does arise, you can easily undo the mistake by booting using a previous image that is known to work.
What Is Flatpak?
Flatpak is a universal app format that enables you to install an app on virtually any Linux distro. This is a replacement for traditional packages such as DEB and RPM, which are not universal. A distro that uses DEB packages, such as Debian or Ubuntu, can not install RPM packages, and vice versa.
Flatpaks also come with added security benefits. Each app is a sandbox, isolated from the rest of your system. For an app to access other components, such as your files or your webcam, you must grant it permission.
Getting Started With Fedora Silverblue
Installing Fedora Silverblue works the same way as installing Fedora Workstation. You can head to the same website, getfedora.org, and scroll down until you see Silverblue, or you can go directly to the Silverblue website to download the necessary ISO.
If you’re familiar with the installer in Fedora Linux or Red Hat Enterprise Linux, then you already know what to expect in Silverblue. Newcomers will find the process comparable to installing applications on Microsoft Windows, where clicking the “Next” button often enough will eventually result in the software you want being installed.
Once you reboot into your new system, you will see a pristine GNOME desktop and the GNOME Tour app, which introduces you to the way GNOME works. At this point, you haven’t yet encountered a difference between Fedora Silverblue and Fedora Workstation, but you’re about to.
How to Install Updates
One of the first things you will need to do on your new system is install updates. You can open GNOME Software and try to view available updates, but this may or may not work. For better or worse, this is not an issue specific to Fedora Silverblue. I find GNOME Software to be an unreliable tool for displaying and installing updates on Fedora Workstation as well.
If GNOME Software works, you will see a prompt to “Restart & Update.” Unlike Fedora Workstation, you won’t need to wait, after you restart, for Fedora to install your packages. Instead, Silverblue will simply start back up using the newer system image that you’ve just downloaded.
If you’ve been using Linux long enough, GNOME Software not working may not seem like much of an issue. You may already be accustomed to installing updates through the command line. This is not because it is the only or easiest way to install updates on Linux, but because the command line often does the job faster and with maximum information presented, showing exactly what updates you’re getting.
On Fedora Workstation, you can install updates with:
sudo dnf upgrade
However, this doesn’t work in Fedora Silverblue. Instead, you will need to use the command:
Notice that in Silverblue the command does not require sudo or administrator access. On Silverblue, you don’t need elevated permissions to upgrade your system or install software.
When the upgrade completes, the terminal displays a full list of upgraded packages in the new system image and a command you can run to restart your system, which you need to do before any of the downloaded updates will take effect.
How to Install Apps on Silverblue
At the first launch, GNOME Software will seem more lightly populated than usual. That’s because Fedora Silverblue does not provide all of the apps available as RPMs in the usual Fedora repository. Silverblue instead uses a separate Fedora repository of Flatpak apps known as the Fedora Container Registry. Various GNOME apps, games, and a few key productivity apps like LibreOffice are available, but there’s much to be desired.
To get more software, you will want to head to Flathub and follow the very simple setup instructions. This will greatly expand the apps that are available in GNOME Software.
To install apps from the terminal, you simply use the flatpak install command. Unlike DNF, you do not need to know the exact name of a package. Flatpak will generally guess what you’re looking for or present you with options if the answer isn’t clear.
If a program you want isn’t available as a Flatpak, you still have the option to install RPMs, but here is where things get tricky.
For apps you intend to use often, you will probably want to append them to your system image using the rpm-ostree install command. Follow this command up with the exact name of the DNF package you wish to install. You will need to restart your computer afterward. From then on, your system image will include these apps during upgrades. To remove software, including preinstalled apps like Firefox, use the rpm-ostree override remove command.
The alternative approach is to launch apps from the command line. These apps will not appear in your app drawer, nor will their icons appear on your dock. To go this route, you will need to become familiar with Toolbox.
Working in the Terminal
Fedora Silverblue comes with a terminal, and most of the commands you come across will still work. But if you want to add or remove packages, you will need to turn to a tool called Toolbox.
Toolbox creates containers, or isolated workspaces, where you can install all the packages you want without cluttering your system.
To create a toolbox, use:
Now you can use DNF and install any Fedora packages you wish. When you are done, type exit to exit Toolbox.
Note, Toolbox containers are not isolated in a security sense. Each has access to your home directory and other aspects of your computer. Do not treat them as safe ways to mess with sketchy software.
Managing App Permissions
The Flatpak format does come with some protections against sketchy or compromised software. While you can see some of this when you open System Settings and navigate to Applications, to really take control you need to install a program known as Flatseal.
With Flatseal, you can block apps from gaining access to the network or limit them to only view files in a specific folder on your hard drive, for example. This program is available for any Linux distribution, but since Fedora Silverblue goes all-in on Flatpak, this means you have this level of control over the majority of apps on your system.
Is Fedora Silverblue Ready for Primetime?
Yes, there is already a community of people using Fedora Silverblue as their primary distro. Apps are stable and, for the most part, it looks just like regular Fedora Linux. Once you learn Silverblue’s quirks, you may actually even find it easier to use than a traditional Linux distro.
Fedora Silverblue isn’t alone. If you find this concept exciting, know that there are a few other Linux distros that have also embraced Flatpak for all of their apps. More could be on the way.