If you’ve ever used the Fedora operating system you’ll know that there are many kinds out there like Fedora Worskstation, Fedora Server and so on. But what about Fedora Silverblue ? And what’s the big difference between Fedora Workstation and Silverblue?
Well they both use GNOME and it was previously named Atomic Workstation but then it was renamed to Silverblue. What makes it unique is that it’s an immutable operating system. It means you can only read the file system and you won’t be in any trouble if things go terribly wrong. If there’s some kind of bug or some problem when updating or whatever, you can simply boot into the previous image of the operating system. Essentially every time you update something related to your file system or something else, a new image is created. Kinda like a copy of the current system you’re using except with some new things.
Now how does it do that you might be asking? It’s simple, it uses a hybrid of rpm and libostree resulting in rpm-ostree. Libostree is sort of the GIT for operating systems and RPM can download and install repositories. So here’s a diagram below that should give you an idea on how this kinda works.
On the left is a classical way of doing updates. The tiny green squares represent an update or change that may or may not be important. What if during that update period something goes wrong like a power cut. What can happen is that you’re operating system can get some issues when you try to use it or may not work at all. It doesn’t happen all the time but if you’re doing something pretty important then it would suck if you couldn’t use your system and maybe would need to reinstall the entire thing.
Thankfully on the right there is the solution to this. A new image gets created with the new updates or changes. Essentially the new image is a modified version of the old image. After doing the updates or changes you will be required to reboot into the new image. If you don’t like the image or there is some problem then you can still revert to the old one whenever you want.
For the GUI applications that you use (for example GIMP, Blender and so on), there installed as flatpaks. It’s separate from the the file system. But unfortunately dnf is not installed as default and you will be limited on some things. However there is a way you can use Silverblue as a regular Fedora Workstation operating system. You need to use a container. Toolbox uses podman that creates a container that’s separate from the operating system so that you can play with or develop something.
A new release of Silverblue comes out every 6 months and is supported for 13 months. Additionally there are some security features but I’m not going to go into detail about that for now.
So yeah Fedora Silverblue is a pretty cool operating system and I would like to see more features in the future releases. If you want to learn more about it then here are some references: