Skip to main content

Upgrading via the Software application can have issues.  If it has any issues at all it just fails leaving your system partially upgraded.  This method is much safer and give you the ability to fix any issues as you find them.  Also don't try to jump more than 2 versions at a time (ie. 35 to 37).

Before you even get started I like to backup my grub.conf file and remove all kernels accept the current one just to get a cleaner start:


cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

rpm -q kernel

After listing the kernel remove that kernel along with it's supporting packages with the same version.

Getting Started

Update the current system first.  This also receives signing keys that are needed:


dnf upgrade --refresh

Install the plugin and download packages for the update.  Specify the version you want to update to.  This is where you will see any conflicts.  You can usually resolve them by just uninstalling any RPMs it has issues with as long as you don't need them:


dnf install dnf-plugin-system-upgrade

dnf system-upgrade download --releasever=37

Once all the files have been download go ahead and reboot into the upgrade process:


dnf system-upgrade reboot

Clean Up

After the upgrade is complete you can do the following things to cleanup the upgrade.  First install and run rpmconf to compare any *.rpmnew files:


dnf install rpmconf

rpmconf -a

Cleanup retired packages:


dnf install remove-retired-packages

remove-retired-packages

Clean up packages with broken dependencies:


dnf repoquery --unsatisfied

Check for duplicate packages:


dnf repoquery --duplicates

List packages not part of any repository.  You can choose to uninstall them as needed:


dnf list extras

Show any broken symbolic links:


dnf install symlinks

symlinks -r /usr | grep dangling

Once you have verified these are ok to delete the following will remove them all:


symlinks -r -d /usr

Only if you are see errors when installing or uninstalling packages you can rebuild the rpm database:


rpm --rebuilddb

The following distro-sync should not show anything if everything worked.  If the upgrade did file the following can fix/resume the upgrade process:


dnf distro-sync

NOTE: You may also have to update any Gnome extensions after you update Fedora.

Category