Silverblue is an operating system for your desktop built on Fedora. It’s excellent for daily use, development, and container-based workflows. It offers numerous advantages such as being able to roll back in case of any problems. If you want to update to Fedora 31 on your Silverblue system, this article tells you how. It not only shows you what to do, but also how to revert back if anything unforeseen happens.
Prior the the update to Fedora 31 it is better to do any pending upgrades.
Updating using GNOME Software
Unfortunately the update can’t be done in GNOME Software right now, because of a bug in GNOME Software itself. For additional information please look at upstream issue.
Updating using terminal
If you do not like GNOME Software or like to do everything in terminal, than this next guide is for you.
Updating to Fedora 31 using terminal is easy. First, check if the 31 branch is available, which should be true now:
$ ostree remote refs fedora
You should see the following in the output:
fedora:fedora/31/x86_64/silverblue
Next, rebase your system to the Fedora 31 branch.
$ rpm-ostree rebase fedora:fedora/31/x86_64/silverblue
Finally, the last thing to do is restart your computer and boot to Fedora 31.
How to revert things back
If anything bad happens — for instance, if you can’t boot to Fedora 31 at all — it’s easy to go back. Just pick the previous entry in GRUB, and your system will start in its previous state before switching to Fedora 31. To make this change permanent, use the following command:
$ rpm-ostree rollback
That’s it. Now you know how to rebase to Fedora 31 and back. So why not do it today?
Boricua
Hi, there appears to be something missing in the first command. I am getting this (edited for reason of space and privacy):
[Boricua@main ~]$ ostree remote refs fedora
Usage:
ostree remote refs [OPTION…] NAME
List remote refs
Help Options:
-h, –help Show help options
Application Options:
–repo=PATH Path to OSTree repository (defaults to current directory or /sysroot/ostree/repo)
–cache-dir Use custom cache dir
-v, –verbose Print debug information during command processing
–version Print version information and exit
error: Command requires a –repo argument
[Boricua@main ~]$
Same thing happens if I use the sudo option.
Lucas
Wow… Just amazed about the easiness of upgrading to another version with those “immutable OS”…
What about customizing your environment (gnome-tweak, icons, …) ? This question may seem dummy but I’m quite curious about Silverblue and feedback from other curious like me 🙂
Who knows, I will switch from my classical Fedora 30 to Silverblue a day !
Michal Konečný
Unfortunately gnome-tweaks must be layered and the GNOME wants to use new application for Extensions and fonts management.
Otherwise you can customize what you want as long as you don’t need to do any changes in immutable directories.
Xon
You can download tweaks from the gnome software app, that’s what I did.
Michal Konečný
Hi, could you try
?
If you are using the Silverblue for some time, you probably have another remote. I had fedora-workstation instead of fedora, so I switched.
Boricua
Same result:
$ ostree remote list
Usage:
ostree remote list [OPTION…]
List remote repository names
Help Options:
-h, –help Show help options
Application Options:
–repo=PATH Path to OSTree repository (defaults to current directory or /sysroot/ostree/repo)
-u, –show-urls Show remote URLs in list
-v, –verbose Print debug information during command processing
–version Print version information and exit
error: Command requires a –repo argument
Just in case, I am running a regular Fedora 31 workstation, rpm based. Perhaps I misunderstood this article.
Michal Konečný
This is a guide for the Silverblue, if you are on Workstation look here: https://docs.fedoraproject.org/en-US/quick-docs/upgrading/
Boricua
Fair enough, thanks. I am seriously considering jumping to Silverblue.
JCjr
The way that Silverblue is documented, it mentions that all updates need reboots because of the image rebase stuff. How is that any different from Fedora Workstation though? Any time GNOME Software shows updates for “regular” Fedora, it wants to reboot – even for silly little things like a Chromium update for a system that doesn’t even have Chromium installed (this happened recently on a clean network install). I can understand wanting to reboot for a kernel update so that you can use it right away, but not a day goes by where GNOME Software detects an update is available that after pressing the Download button, it’s succeeded by a “Restart and Install” button. Why is GNOME Software so aggressive for reboots when DNF can install practically anything without requiring a reboot?
Paul W. Frields
@JCjr: I believe G-s takes a conservative approach because of the number of user reports that come in via help channels ultimately caused by libraries or apps that have been upgraded underneath an active session. I find the easiest approach is just wait until I’m done with a session to worry about updates.
AsciiWolf
These are offline updates and they are not specific only to GNOME Software. Here is more information about them: https://fedoraproject.org/wiki/Features/OfflineSystemUpdates
George.M
I use Fedora 30 Workstation as my daily computer. I’ll upgrade to 31 when some of the little bothersome bugs get ironed out properly. Ever since F15, I’ve always done the updates via terminal:
sudo dnf upgrade –refresh
By using the terminal, no reboot is requested.
Silverblue is fun to play with at the moment but still lacks many apps in the software repository to be productive. LibreOffice would be a great start.
Otavio
Got this, anyone can help?
tks
Could not depsolve transaction; 2 problems detected:
Problem 1: conflicting requests
– nothing provides libjpeg-turbo(x86-64) = 2.0.2-1.fc30 needed by libjpeg-turbo-devel-2.0.2-1.fc30.x86_64
Problem 2: package scl-utils-build-1:2.0.2-8.fc30.x86_64 requires redhat-rpm-config, but none of the providers can be installed
– package redhat-rpm-config-142-1.fc31.noarch requires python-srpm-macros >= 3-46, but none of the providers can be installed
– package redhat-rpm-config-140-2.fc31.noarch requires python-srpm-macros >= 3-46, but none of the providers can be installed
– cannot install both python-srpm-macros-3-42.fc30.noarch and python-srpm-macros-3-49.fc31.noarch
– conflicting requests
Michal Konečný
I assume you have some layered packages and this looks like conflict when updating. I recommend to report these on the bugzilla https://bugzilla.redhat.com/ for corresponding package.
Norman Fuehner
When well 31 workstation be ready for download? I already have 30 workstation and I have had it since it came out!
Paul W. Frields
@Norman: Fedora 31 Workstation has been out for quite a while, and was announced here. https://getfedora.org to pick up your copy.
Andrew Galford
A bit off topic but close enough. I got inspired by Silverblue to do a read only filesystem for regular Fedora. So I fired up my VM made 3 drives for boot, root and var then made the boot and root read only. As you can imagine the regular workstation with GUI would lock up at the login screen after trying to log in I needed a separate drive for home duh. However thats not the end of the story I decided to go more robust for a minimal install and fixed the home dir/drive that is when started to find that services would not start like systemd hostname, chronyd, and nginx. Any thoughts suggestions or help would be appreciated.
Michal Konečný
I recommend asking on fedora devel list or on Silverblue discussion (https://discussion.fedoraproject.org/c/desktop/silverblue/6)