I'm not new to Fedora. I've used Fedora Workstation in the past, but I often hop to some other Linux distribution eventually. I don't mind being an avowed "distro hopper," but recently, my exploration brought me back to Fedora. This time, it looks a little different: Fedora Silverblue (a variant of Workstation) focuses on immutability and containers.
[ Learn: What's the difference between Fedora and Red Hat Enterprise Linux? ]
I'm not a professional sysadmin. I "admin" the Linux machines I have at home and in the educational workshops I run as a volunteer. I'm not a person who needs or wants to create containers. But I'm interested in the concept, and unlike traditional Linux distributions, applications are added to Fedora Silverblue primarily as Flatpaks (forms of locally containerized applications).
Who hasn't been annoyed when you upgrade or install an application, and it breaks another application on your system? The promise of Silverblue is an immutable system that the latest and greatest upgrade can't damage.
To try Silverblue, go to the Fedora Silverblue website and download the ISO. Create a bootable USB drive and grab a spare laptop. If you've ever installed Fedora, CentOS, or Red Hat Enterprise Linux (RHEL) before, the installation will feel familiar because it uses the same Anaconda installer.
My first experience with Silverblue started after installation. I restarted the machine as directed, created a new user, and logged in.
Fedora Silverblue looks identical to Fedora Workstation. GNOME desktop, Firefox, and the other default applications were already installed and working. I connected to my home network and prepared to install some of my favorite applications.
GnuCash is one of my favorite open source applications. Because of my inexperience with Silverblue, I tried the standard
$ sudo dnf install gnucash
No dice! I got an error message saying that there is no
dnf. That's when I began to realize that installing software on this platform is different. I opened the Software Store and searched for GnuCash, but it wasn't there. I did some reading and reviewed how to use the Flatpak installer. Next, I tried the following installation command:
$ flatpak install gnucash
I got an error message stating, "no remote refs found for GnuCash." I checked Flathub.org. Sure enough, GnuCash was listed there.
Next, I tried to install Google Chrome:
$ flatpak install chrome
I got the same error message: "no remote refs found for chrome."
One last try. I'd seen GIMP listed in the Silverblue Software application, so I tried installing it from the command line:
$ flatpak install gimp
That installation went just the way it was supposed to.
I was stumped.
[ Get the guide to installing applications on Linux. ]
Solving the mystery
I decided that I'd surf over to Flathub.org and install the software from there onto Silverblue. I tried Google Chrome first and got the following error, which mentioned a filter:
"Unable to install "Google Chrome": Remote "Fedora Flathub Selection" doesn't allow install of "Google Chrome", possibly due to its filter. Remove the filter and repeat the install."
Additional research revealed a default filter in Silverblue that you must edit to install all the applications available at Flathub.org and add them to the Fedora Silverblue Software Store.
The command to change the filter so that you can install any application is:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Once you edit that default filter, you're free to install all the applications available from Flathub.
Fedora has excellent documentation that I would have been wise to consult before attempting to install additional applications.
[ Want to contribute to Linux? Join Fedora Test Days. ]
Container advantages on the desktop
After getting over this initial hurdle, I could use Silverblue the same as any other Linux distribution. With all the applications distributed as Flatpaks, installation is easy and "sandboxed." Having two versions of the same application installed (for testing or legacy support) is easy and doesn't require complicated library management.
Installing complex applications is easy with Flatpak because the dependencies are either bundled with the Flatpak itself or with a related Flatpak software development kit (SDK). And thanks to the isolated environment where Flatpaks run, there's no conflict with an update, upgrade, or removal. Flatpaks work on RHEL, too.
Silverblue says it's immutable, but that doesn't mean it never changes. You can add RPM packages to your core operating environment, which is important for drivers or other applications you need that aren't available as Flatpaks. Silverblue also includes utilities, such as Toolbx, to permit you to add applications within temporary environments.
Fedora Silverblue is an interesting and ongoing experiment with some new and exciting concepts, including an immutable system and containerized applications. Give it a try!
[ Keep your most commonly used commands handy with the Linux commands cheat sheet. ]