Upgrade to Fedora 38 from Fedora 37 using DNF
Table of Contents
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.
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
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⌗
2.9 Starting System Upgrade⌗
2.10 dnf-plugin-system-upgrade Upgrading Fedora 37 to Fedora 38⌗
3. Fedora 38 Screenshots⌗
3.1 Fedora 38 GNOME 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