Fedora-logo

This is guide, howto upgrade Fedora 37 to Fedora 38 using DNF. This method works on desktop and server machines. You can also upgrade older Fedora installations (example Fedora 36/35/34) directly to Fedora 38.

I have tested this method on several machines, but if you have problems, please let me know. Always remember backup, before upgrade!

Check video version of guide:

1. Before Upgrade

1.1 Backup Your Data

Before doing anything, do full system backup or backup at least your important data: documents, pictures, videos, config files, log files, databases etc. This is very important step, because if something goes wrong and you have to do fresh install, then you can easily restore your data.

1.2 Update NVIDIA Drivers

Remember also update NVIDIA 340xx, 390xx, 470xx, 515xx, 525xx, 530xx to latest kernel 6.2 compatible versions.

Check video version of guide, howto upgrade NVIDIA drivers:

2. Upgrade Fedora 37 to Fedora 38 using DNF

2.1 Change root user

su -
## OR ##
sudo -i

2.2 Update Fedora 37/36/35/34/33 Packages

Just make sure that you have all latest packages installed.

dnf --refresh upgrade

2.3 Reboot Your System

Just make sure that you are running latest kernel.

reboot

2.4 Install/Update dnf-plugin-system-upgrade package

It’s probably installed already.

dnf install dnf-plugin-system-upgrade --best

2.5 Enable inttf repo (NOTE only for NVIDIA driver users)

This whole 2.5 step is only users who have installed NVIDIA drivers manually, this will revert Fedora kernel simpledrm back to fbdev, because NVIDIA drivers currently not support it. All other users can skip this 2.5 step and continue to 2.6 step.

Also if you have enabled it already, then skip this step!!

2.5.1 Exclude kernel updates from [fedora] and [updates] repo

Edit /etc/yum.repos.d/fedora.repo file. Add exclude=kernel*

[fedora]
name=Fedora $releasever - $basearch
...
exclude=kernel*

Edit /etc/yum.repos.d/fedora-updates.repo file. Add exclude=kernel*

[updates]
name=Fedora $releasever - $basearch
...
exclude=kernel*

2.5.2 Download inttf.repo file to enable inttf repo

wget -O /etc/yum.repos.d/inttf.repo https://rpms.if-not-true-then-false.com/inttf.repo

2.6 Start Upgrading Using DNF

dnf system-upgrade download --releasever=38

When this finish, check if there is any errors. You might need

--best

and

--allowerasing

options to get all packages downloaded.

2.7 Start (F37 to F38) Upgrade Process

dnf system-upgrade reboot

2.8 Grub 2 Menu Boot with Latest Kernel

Fedora 38 Upgrade Grub2

2.9 Starting System Upgrade

Fedora 38 Upgrade Starting System Upgrade

2.10 dnf-plugin-system-upgrade Upgrading Fedora 37 to Fedora 38

Fedora 38 Upgrade Upgrading

Fedora 38 Upgrade Ready

3. Fedora 38 Screenshots

3.1 Fedora 38 GNOME Desktop

Fedora 38 Desktop

4. Fedora 38 Clean Up Post Upgrade (as root user)

4.1 Do Distro Sync

dnf distro-sync --setopt=deltarpm=0

4.2 Check All Your Config Files

Use rpmconf to find .rpmnew, .rpmsave and .rpmorig files. You can keep current version, use old version, watch the diff or merge.

dnf install rpmconf

rpmconf -a