Fedora is a huge distribution and like any other huge distribution it has a bunch
of spins or as they are known as to people that use Ubuntu, flavours. Now, flavours are just cosmetic changes put on top of the distribution base. For example, Ubuntu Mate, one such popular Ubuntu flavour, is just plain Ubuntu with the Mate desktop along with some other changes like colours, fonts, included apps, etc.
Fedora has something similar called "spins". They are just plain Fedora with another desktop slapped on top. However, Fedora offers something totally different other than those spins. I'm talking about Silverblue.
What is Silverblue?
To anyone looking from outside, Silverblue might seem like a plain Fedora installation, and while they might look the same they function very differently.
Silverblue sets itself appart from any other distribution by using an atomic update model, which means that when you update your software either anything finishes successfully or nothing is done at all.
Another important feature of Silverblue is the fact that when you update your system you actually get another image of the system containing the changes. This is important because if something breaks after an update or you just simply don't like the update you can just reboot into your system as it was before the update.
For the programmers reading this, Silverblue works like a git tree, but on your operating system.
Silverblue wants to minimise the possibility of your system braking so it gives you this ability to revert your changes should you need it. It also relies heavily on Flatpaks, which are sandboxed applications. In a nutshell, Flatpaks are apps that come
with their own libraries so they don't need to rely on the system having them installed, while providing some security benefits by restricting the app's access to your computer's components through permissions (e.g. an app would be unable to access your camera even if compromised by a hacker if the app didn't have camera access permissions in the first place).
All this is cool but why do Flatpaks matter? Since they are self-contained it means that they can function independently of your base operating system. In turn, this means that you can technically update your system from one version to the other and never worry about apps not functioning correctly or dependencies being outdated. You can also keep your system as it is and update your apps to newer versions and they won't complain.
Are there enough Flatpaks?
Silverblue is a desktop OS so most Flatpaks are created with the typical desktop user in mind. Whether you need Spotify, Slack, Firefox or Office (LibreOffice that is) you can find them all at Flathub.
If you want to see the apps from Flathub in your Software Center don't forget to run the following command in the Terminal app:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Don't worry though, if there's ever an app that you'll need and it's not on Flathub of Fedora's repository, you can still install traditional
.rpm packages like you'd do on a normal Fedora system. There is one caveat though. After installing traditional packages you need to restart your computer to use your app. This might sound like a huge drawback, but this process is needed because Silverblue needs to create a new system image with your new apps layered on top.
I'll discuss more on how we can install traditional packages in Silverblue in a later blog post as there is more than one way to do it. I'll teach you to install Brave in that post.
Why I like Silverblue...
Silverblue gets me excited because it feels like Linux again. Let me elaborate.
When I first got into Linux, it was in 2012 and I was just stepping into this new world full of freedom, unknowns and a lot of work. I started with Ubuntu, but back in the day Ubuntu was't the same easy peazy distribution that we all know today and I would often run into troubles and I was forced to learn how my system works and how to fix it through the command line.
My journey through Linux took me through the Ubuntu flavours, which I tasted one by one, then Linux Mint, Elementary OS, Fedora, then Manjaro and many more. I installed Arch and Gentoo, I used tiling window managers, I riced my system... I've done so many things that, with time, I forgot how it felt like to feel excited about something Linux related.
There are a lot of distributions that are just reskinned Ubuntu or Arch and none of them impress me anymore. Silverblue felt different. Silverblue made me feel like I'm 14 again, booting for the first time into a world of wondrous new adventures, discovering step by step how everything works. Silverblue reignited that passion for technology that brought me into this world 8 years ago.
... and why I think it will be the best
Silverblue has some work to do before it's going to be a viable option for normal users. While most bugs are fixed and for someone brave and with a minimal set of technical knowledge it's ready for prime-time, there are a couple of annoyances that not every user will put up with. Here are a few I've encountered:
- Lack of GUI solutions to manage .rpm files and containers. Both work great in Fedora Silverblue, but not every user is going to put up with the terminal.
- Flatpaks are too big. My laptop comes with 256 GB. The use of Flatpaks would really push my storage to the limit if I didn't have an external HDD. This is not a problem of Silverblue on its own, but it affects it since it makes such extensive use of Flatpaks.
- Layering .rpm packages should not make the user restart the system. There is a way to mount the new system image once you install some traditional packages, but it's highly unstable at this time.
- Automatically provision containers if something goes wrong. Silverblue uses
podmanto create containers and there were numerous times when an update to
podmanbroke the containers that users created. Luckily on a system such as Silverblue you can revert to the state before the update, but you'll have to update
podmanat some point.
Once they fix most annoyances, nothing will be able to beat Silverblue in terms of stability, updates and user-friendliness. Since the system directories are read-only you'll be unable to break your OS by mistake. Everything can just be reverted at next reboot, any mistake, any failure.
The fact that you can so easily jump from one version of Silverblue to other never having to worry about breaking the OS or breaking the apps makes me say that the future lies here. No matter how stable you make Ubuntu, there's always going to be that 1% of people that will get a broken system because some update didn't work. If those people happen to be non-technical folk they'll probably just reinstall the OS since they won't know how to fix the problem, or worse go back to Windows and Mac with a bitter taste.
Silverblue is the future because it allows you to make mistakes. You want to experiment? Go ahead! If it goes wrong restart, choose the previous system image and experiment again. NO MORE wiping out your OS because you got a black screen or a blue screen. NO MORE apps that refuse to work after updates. And NO MORE reinstalling the OS every 6 months or being stuck with outdated software for years or fearing that every updated will kill your system. That's the future!
Fedora Silverblue is one of the most interesting projects I've seen in a while and I'll keep posting stuff about it in the future as I learn more and more. I am right now using Silverblue full-time and I'll check how sturdy and stable this whole thing is, but the way I see it, there's nothing I could do to break it. I'll see you next time.
All images, except first, were shamelessly... "borrowed" from: Mr. Jakub Steiner. Thanks!