Partner links

How to upgrade Fedora 22 to Fedora 23 using DNF system-upgrade

Fedora 23 system updates error

Fedora 23 is the latest edition of the Fedora Linux distribution.

This tutorial shows how to upgrade an installation of Fedora 22 to Fedora 23.

NOTE: If you’re running Fedora 22 KDE, you might want to hold off from updating, at least for a while, because of an issue with a broken dependency.

Before the release of Fedora 23, the recommended method of upgrading a Fedora system is Fedup, the FEDora UPgrade tool. On Fedora 23, a new upgrade tool implemented as a component of DNF, the Fedora package manager, was introduced.

The official DNF system-upgrade page describes this method of upgrading Fedora as a system that uses a:

mechanism similar to that used for offline package updates. The updated packages are downloaded while the system is running normally, then the system reboots to a special environment (implemented as a systemd target) to install them. Once installation of the updated packages is complete, the system reboots again to the new Fedora release.

But what does this new upgrade method mean for Fedup? Can it still be used to upgrade Fedora or has it been discontinued?

The Fedup package is still in the repository, and can be installed. However, the fedup command appears to be a stub for dnf system-upgrade, the new upgrade command. So whether you start off with the old upgrade command (fedup – -network 23) or the new one (dnf system-upgrade), but not through the old Fedup route.

With all that long preliminary information out of the way, let’s go through the steps involved in upgrading an installation of Fedora 22 to Fedora 23.

Step 1Update/Upgrade the System
You start by making sure the existing system is up to date, which you do with one of the following commands:

dnf update

# Or
dnf upgrade


After that has completed, reboot the computer and log back in.

Step 2Install the DNF Plugin
Upgrading Fedora using DNF is made possible by a DNF plugin command called system-upgrade. To make it available, install the required package using:

# Command must be run as root

dnf install dnf-plugin-system-upgrade


Step 3Download Available Packages
To begin the upgrade, available packages first have to be downloaded, which you accomplish using the following command. The – -best option ensures that the upgrade will be aborted if there’s an unresolvable dependency issue. If you’re trying to upgrade an installation of Fedora 22 KDE in a virtual environment, please read the paragraphs after this command block:

# Command must be run as root

dnf system-upgrade download --releasever=23 --best


When I tried to upgrade an installation of Fedora 22 KDE using the above command, it failed with the following output:

Last metadata expiration check performed 0:00:11 ago on Tue Nov  3 16:22:13 2015.
Error: package kf5-kdesu-5.15.0-2.fc23.x86_64 requires kf5-filesystem >= 5.15.0, but none of the providers can be installed
(try to add '--allowerasing' to command line to replace conflicting packages)

Adding the – -allowerasing did not help, but by removing the – -best option, the command worked. However, there were minor and major bugs in the system after the upgrade completed. The minor issue is that the entry for Dolphin, the file manager, in the Favorites column of the menu did not work. The solution: Delete it and add it again.

And the major bug?

Running dnf update reported that there are no updates, as seen in this output:

Last metadata expiration check performed 0:27:31 ago on Wed Nov  4 05:20:11 2015.
Dependencies resolved.
 Package            Arch            Version                Repository        Size
Skipping packages with broken dependencies:
 kf5-kdesu          x86_64          5.15.0-2.fc23          updates           90 k

Transaction Summary

Nothing to do.

But the system update notification tool in the systray says there are 100 updates available.

Fedora 23 system updates

Figure 1: System update notification on Fedora 23 KDE

However, trying to apply the available updates drew an error. No indication as to the cause of the failure.

Fedora 23 system updates error

Figure 2: System update upgrade error on Fedora 23 KDE

It was only when I tried to apply the updates from Apper, the graphical package manager, that I got an idea why the update was failing. So to repeat, you might want to seriously consider holding off on updating an installation of Fedora 22 KDE to Fedora 23 KDE.

Fedora 23 KDE Apper error

Figure 3: Error updating packages on Fedora 23 KDE from Apper, the graphical package manager

Step 4Apply the Upgrade
If the last step was completed successfully, you now have to start the upgrade using the following command:

# Command must be run as root
dnf system-upgrade reboot


That will cause the system to reboot, not back into the desktop, but into that “special environment (implemented as a systemd target)”. It’s as if the upgrade is taking place somewhere between the GRUB menu and the login window. Figure 4 shows the upgrade progress on my test system.

Fedora NDF system-upgrade

Figure 4: Upgrade progress using DNF system-upgrade

After the upgrade has completed, the computer will reboot into the new system. And if you were sitting in front of your monitor, you’d see this GRUB menu.

Fedora 23 GRUB menu

Figure 5: The GRUB menu of Fedora 23 after the upgrade from Fedora 22

This was the GRUB menu before the upgrade. Fedora does need a better GRUB screen. This is what we expect from a certain company in Redmond, not from the good folks at Fedora.

Fedora 22 GRUB menu

Figure 6: The GRUB menu of Fedora 22 before upgrading to Fedora 23

I’m happy with the upgrade of the GNOME 3 desktop, but, for obvious reasons, not happy with the upgrade of the KDE desktop. Now I have to go file that bug report. While I’m doing that, enjoy a few screenshots from the the Fedora 23 (GNOME 3) desktop.

Fedora 23 GNOME desktop

Figure 7: Fedora 23 GNOME desktop

Fedora 23 GNOME desktop activities

Figure 8: Fedora 23 GNOME desktop activities view

Fedora 23 GNOME desktop app view

Figure 9: Fedora 23 GNOME desktop app view



Partner links

Newsletter: Subscribe for updates

Notify of
Inline Feedbacks
View all comments

Get the latest

On social media

Security distros

Linux distros for hacking and pentesting

Crypto mining OS

Distros for mining bitcoin and other cryptocurrencies

Crypto hardware

MSI GeForce GTX 1070
Installing Nvidia GTX 1070 GPU drivers on Ubuntu

Disk guide

Beginner's guide to disks & disk partitions in Linux

Bash guide

Bash shell terminal
How to set the PATH variable in Bash
Hya, what do you think? Please comment.x