Fedora Silverblue is an operating system for your desktop built on Fedora Linux. 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 or rebase to Fedora Linux 38 on your Fedora Silverblue system (these instructions are similar for Fedora Kinoite), this article tells you how. It not only shows you what to do, but also how to revert things if something unforeseen happens.
Update your existing system
Prior to actually doing the rebase to Fedora Linux 38, you should apply any pending updates. Enter the following in the terminal:
$ rpm-ostree update
or install updates through GNOME Software and reboot.
Rebasing using GNOME Software
GNOME Software shows you that there is new version of Fedora Linux available on the Updates screen.
First thing you need to do is download the new image, so click on the Download button. This will take some time. When it’s done you will see that the update is ready to install.
Click on the Restart & Upgrade button. This step will take only a few moments and the computer will be restarted when the update is completed. After the restart you will end up in new and shiny release of Fedora Linux 38. Easy, isn’t it?
Rebasing using terminal
If you prefer to do everything in a terminal, then this part of the guide is for you.
Rebasing to Fedora Linux 38 using the terminal is easy. First, check if the 38 branch is available:
$ ostree remote refs fedora
You should see the following in the output:
fedora:fedora/38/x86_64/silverblue
If you want to pin the current deployment (meaning that this deployment will stay as an option in GRUB until you remove it), you can do it by running:
# 0 is entry position in rpm-ostree status $ sudo ostree admin pin 0
To remove the pinned deployment use the following command:
# 2 is entry position in rpm-ostree status $ sudo ostree admin pin --unpin 2
Next, rebase your system to the Fedora Linux 38 branch.
$ rpm-ostree rebase fedora:fedora/38/x86_64/silverblue
Finally, the last thing to do is restart your computer and boot to Fedora Linux 38.
How to roll back
If anything bad happens—for instance, if you can’t boot to Fedora Linux 38 at all—it’s easy to go back. At boot time, pick the entry in the GRUB menu for the version prior to Fedora Linux 38 and your system will start in that previous version rather than Fedora Linux 38. If you don’t see the GRUB menu, try to press ESC during boot. To make the change to the previous version permanent, use the following command:
$ rpm-ostree rollback
That’s it. Now you know how to rebase Fedora Silverblue to Fedora Linux 38 and roll back. So why not do it today?
FAQ
Because there are similar questions in comments for each article about rebasing to newer version of Silverblue I will try to answer them in this section.
Question: Can I skip versions during rebase of Fedora? For example from Fedora 36 Silverblue to Fedora 38 Silverblue?
Answer: Although it could be sometimes possible to skip versions during rebase, it is not recommended. You should always update to one version above (37->38 for example) to avoid unnecessary errors.
Question: I have rpm-fusion layered and I got errors during rebase. How should I do the rebase?
Answer: If you have rpm-fusion layered on your Silverblue installation, you should do the following before rebase:
Maxime
I tried the command-line rebasing and it works like a charm ! I decided to switch to Fedora Silverblue because I had a problem last fall with the upgrade from Fedora Workstation 36 to Fedora Workstation 37 (the upgrade could not complete and I ended up in a half upgraded system). I finally managed to resolve the upgrade problem without reinstalling, but it convinced me to switch to Silverblue for the possibility of rollbacks.
I’m very much satisfied with Fedora Silverblue, but it still have a few rough edges, particularly with Gnome Software. I would really like to be able to install upgrade in Gnome Software without automatically restarting, The upgrade would only be effective on the next reboot, but would already be installed and deployed, just like when doing “sudo rpm-ostree upgrade”. Because of that, I prefer to upgrade with the terminal. Also, please remove firefox from the base image and install the flatpak version instead.
Martin
Maxime have a look at DIstrobox or Toolbox – It’s a way of running a complete Fedora 38 as a container which you can then install apps with dnf like you would on normal non SIlverblue without the reboot…
https://distrobox.privatedns.org/
René Genz
I guess in the command on the last line the multiple ‘ ‘ (HTML tag for non-breaking space) ought to be replaced each with one empty space?
René Genz
thank you for fixing it
Kevin Degeling
You’ll have to quickly correct the RPM-fusion related command:
This is a likely formatting bug when copying from a terminal into a WYSIWYG editor.
Michal Konečný
I noticed this after the article got published. This wasn’t visible in the editor, but it’s fixed now.
Jonatas
Hi, please fix the rpm-fusion command, it’s got escaped whitespace characters ( ) printed. It was probably copied from a webpage.
Stephen P
Heads up that F38 has a new major version of ffmpeg/libavcodec, which is supported starting in Firefox 112. Silverblue’s F38 branch still ships Firefox 111 as of the time of this comment, so H.264 video will be broken until it’s updated.
Grandpa Leslie Satenstein, Montreal,Que
I very much appreciate the information about Silverblue. Its a form of “shortened” longterm support.
I do have a related question. “Is the future (version 40+) of Fedora going to be a “Silverblue” style of deliverable, without the daily deliverables that I have the enjoyment and custom to download, install and review.
The last sentence should tell you that there are many of us old Fedora users who are retired, and look forward to the updates we receive on the unscheduled basis.
.
ayhc
It might be worth pointing out that, as of this writing, Fedora Silverblue (and Kinoite) 38 have not received any updates since the 14th: https://github.com/fedora-silverblue/issue-tracker/issues/454
Michal Konečný
This should be fixed now.
Bryan J Smith
One thing I’d love to do is have CentOS Stream as my minimal, baremetal base, and run Fedora images as my desktop (ideally an XFCE container image, but I’m willing to build that on my own). Just curious if anyone has a similar workflow or approach, because I’m planning on tackling this in the near future. I’m currently dual-booting CentOS Stream 9 and Fedora 37.
Sebastian
If you “upgrade” (rebase) to Fedora 38 the kernel will downgrade among other packages
I recommend not to rebase, and to stay on an up to date system.
The updated packages exist in the repos, but for an unknown reason we cant get them.
Michal Konečný
This is probably related to this issue https://github.com/fedora-silverblue/issue-tracker/issues/454, which should be already fixed.
Giovanni
I was a bit confused by this article. I initially thought it was for Silverblue users that didn’t want to use Silverblue anymore and wanted to revert to “regular” Fedora Linux. Now I realize it’s about updating Silverblue itself to Fedora Silverblue 38.
Cameron
For rpm-fusion
´´´
rpm-ostree override remove libavcodec-free libavfilter-free libavformat-free libavutil-free libpostproc-free libswresample-free libswscale-free –install ffmpeg –install gstreamer1-plugins-bad-freeworld –install gstreamer1-plugins-ugly –install libheif-freeworld –install pipewire-codec-aptx
´´´
Mike Walker
I don’t understand what the last command for rpmfusion is doing. Doesn’t it remove the rpmfusion repos and then IMMEDIATELY reinstall them? How does that work?
Stephen Snow
Rpm-ostree takes care of the transaction, and yes you can do both uninstall and install on the same command line. Remember on upgrades, your fetching a new (Fedora System) image that then gets your systems particular setup added to it resulting in an image locally that now reflects your system as it was but upgraded (after you reboot into it).
Justin
I’m afraid I still don’t fully understand. Is this meant to be run after the rebase, but before the reboot, or at any time after the RPMFusion packages have been installed and then its good to go from that point forward?
Michal Konečný
This should be ran before the rebase itself, otherwise the rebase will fail with error.
lebon
quand on met en veille il se bloc
Punky
I just installed Fedora Kinoite and only I can say is this is great expiriance!!!!
Chris Lander
Could not rebase. Errors:
Could not depsolve transaction; 3 problems detected:
Problem 1: conflicting requests
– nothing provides system-release(37) needed by rpmfusion-nonfree-release-37-1.noarch
Problem 2: conflicting requests
– nothing provides system-release(37) needed by rpmfusion-free-release-37-1.noarch
Problem 3: package ffmpeg-libs-6.0-6.fc38.x86_64 conflicts with libavcodec-free provided by libavcodec-free-6.0-4.fc38.x86_64
– package ffmpeg-6.0-6.fc38.x86_64 requires ffmpeg-libs(x86-64) = 6.0-6.fc38, but none of the providers can be installed
– conflicting requests
Michal Konečný
Did you reinstalled the rpm-fusion packages as stated in the FAQ? Keep in mind, that you should reboot for the changes to take effect.
Chris Lander
Yes I did, and also a reboot after. Tried more than once – but the same error.
Michal Konečný
In this case it usually helps to remove the conflicting package, do update and then install it again. In your case it would be probably
package.
Chris lander
Thanks, I will try
Chris Lander
OK got rid of one error, but still:
error: Could not depsolve transaction; 2 problems detected:
Problem 1: conflicting requests
– nothing provides system-release(37) needed by rpmfusion-nonfree-release-37-1.noarch
Problem 2: conflicting requests
– nothing provides system-release(37) needed by rpmfusion-free-release-37-1.noarch
[chris@fedora ~]$
Any idea what the problem is?
Michal Konečný
I would try to uninstall rpmfusion-nonfree-release and rpmfusion-free-release and then install them again after rebase. Not sure why you have this conflict, but this should help you solve it.
wxy
After the system upgrade, my edge browser won’t open and I may have a problem with my Chinese library, causing my Steam to have problems and all my Chinese disappearing. I think it might be with rmp fusion, but I don’t know how to fix it
Gregory Bartholomew
You might have better luck getting an answer on https://ask.fedoraproject.org/
Aral Balkan
If you want to pin your current deployment, you must do so before the command to remove/reinstall rpm-fusion packages or else you’ll get “error: Cannot pin staged deployment”
The command to unstage a deployment is:
rpm-ostree cleanup –pending
Aral Balkan
Rebase failed with error:
error: Could not depsolve transaction; 1 problem detected:
Problem: package ffmpeg-libs-6.0-6.fc38.x86_64 conflicts with libavcodec-free provided by libavcodec-free-6.0-4.fc38.x86_64
– package ffmpeg-6.0-6.fc38.x86_64 requires ffmpeg-libs(x86-64) = 6.0-6.fc38, but none of the providers can be installed
– conflicting requests
Aral Balkan
Above ffmpeg error resolved via:
rpm-ostree remove ffmpeg
Chris Lander
That worked! Thank you.
ds9
Is it possible to rebase easily a Fedora 38 Silverblue installation to Workstation – without reinstalling from ISO ?
I didn’t manage to get USB hand scanner in toolbox (I installted vendor RPM but there are some permission errors on USB devices I didn’t manage to solve).
Michal Konečný
Workstation is not an ostree edition of Fedora, so you need to install it from scratch. You can use Fedora Media Writer flatpak to create the bootable USB.