Home Fedora How To Upgrade To Fedora 38 From Fedora 37 [Workstation And Server]

How To Upgrade To Fedora 38 From Fedora 37 [Workstation And Server]

A Step By Step Guide To Upgrade Fedora 37 To Fedora 38

By sk
Published: Last Updated on 38.2K views

Fedora 38 has been released!! This step by step tutorial explains how to upgrade to Fedora 38 from Fedora 37 and older versions. If you're already using Fedora 37, you can now safely upgrade to Fedora 38 desktop or server edition for latest features, performance and stability improvements.


Before upgrading to Fedora 38, you need to do a few important tasks.

  1. It is strongly RECOMMENDED to Backup your important data before upgrading to Fedora 38. This should be your first step when you want to upgrade any system, regardless of the underlying operating system. Make sure you've backup of all important files, directories, configuration settings, browser bookmarks, and dot files etc.
  2. Fedora 38 upgrade will probably take several minutes to complete. So make sure you've stable Internet connection and uninterrupted power supply.
  3. During upgrade, your system will reboot automatically to apply updates. So ensure that there aren't any important jobs currently running (E.g. Scheduled backups).
  4. See the Fedora 38 common issues and decide if you want to proceed.
  5. Upgrades to the very next release (e.g. 37 to 38) as well as upgrades skipping one release (e.g. 36 to 38) are both supported. Upgrades across more than two releases are not supported. For example - you can't go from Fedora 35 to 38. It might work sometimes. However, if you encounter with any issues, you won't get any support. In such cases, first upgrade to next release (i.e. 35 to 36) and then try to upgrade from 36 to 38. It is always recommended to upgrade to next release before it reaches EOL.

Well, without further ado, let us start Fedora 38 upgrade task!

Upgrade to Fedora 38 from Fedora 37

Fedora 38 upgrade task can be done in two methods. We can upgrade to Fedora 38 via GNOME software (GUI) and from command line (CLI). First, we will see the Graphical method using GNOME Software. This is suitable for those who use Fedora desktop edition.

Before get started, update your Fedora 37 system:

$ sudo dnf --refresh update
$ sudo dnf upgrade

Reboot your system to apply the updates:

$ sudo reboot

Let us check the current version using the following commands:

$ cat /etc/fedora-release

To view the detailed version output, run this instead:

$ cat /etc/os-release

Sample Output:

Check Fedora Version From Commandline
Check Fedora Version From Commandline

As you can see, we have currently Fedora 37 on our system. Let us upgrade Fedora 37 to Fedora 38 via any one of the methods given below.

1. Upgrade to Fedora 38 Workstation via GNOME Software

Step 1: Open your Gnome Software Center and go to Updates section. You will see a notification that says - Fedora 38 Now Available. Click the Download button to download Fedora 38 packages.

Download Fedora 38 From Gnome Software
Download Fedora 38 From Gnome Software

The required packages for upgrading to Fedora 38 will be downloaded now. This will take a while depending on the Internet speed.

Downloading Fedora Linux 38
Downloading Fedora Linux 38

Step 2: Once the Fedora 38 download is complete, you will be prompted to restart and upgrade. Click the "Restart & Upgrade" button to continue installing the updates.

Step 3: A new pop up window will appear and prompt you to click Restart & Install Upgrade button. Just click on it to reboot your Fedora system.

Click Restart And Upgrade Button
Click Restart And Upgrade Button

Enter the sudo password to trigger the updates.

Enter Sudo Password to Start Offline Updates
Enter Sudo Password to Start Offline Updates

One more pop up window will appear again and prompt you to press "Restart & Install" button.

Click Restart And Install Button
Click Restart And Install Button

After system reboot, the downloaded packages will be installed. This will take a while depending on the number of packages to install. Make sure your system is plugged into the power outlet and you have uninterrupted power supply.

Installing Fedora Updates
Installing Fedora Updates

After the updates have installed, the system will automatically reboot and log in to the brand new Fedora 38 workstation desktop.

Fedora 38 Desktop
Fedora 38 Desktop

You can check if your Fedora system is up-to-date under Updates section in Gnome Software.

Check for Updates in Gnome Software
Check For Updates In Gnome Software

Congratulations! We've successfully upgraded to Fedora 38 Gnome workstation edition!

Step 4: Open a Terminal window and check the installed Fedora version using command:

$ cat /etc/fedora-release 
Fedora release 38 (Thirty Eight)

To view the detailed output, run:

$ cat /etc/os-release 

Sample output:

NAME="Fedora Linux"
VERSION="38 (Workstation Edition)"
PRETTY_NAME="Fedora Linux 38 (Workstation Edition)"
VARIANT="Workstation Edition"
Check Fedora 38 Version From Terminal
Check Fedora 38 Version From Terminal

Alternatively, You can check the Fedora version under Settings -> About section.

Check Fedora 38 Version From Settings Section
Check Fedora 38 Version From Settings Section

2. Upgrade to Fedora 38 Server from Commandline

This method is for those who runs Fedora server edition in their system.

Step 1: Update your current Fedora 37 server using commands:

$ sudo dnf --refresh update
$ sudo dnf upgrade

Reboot your system to apply the updates.

$ sudo reboot

Step 2: Install dnf upgrade plugin, which will help you to download Fedora 38 packages, by running the following command:

$ sudo dnf install dnf-plugin-system-upgrade

Step 3: Download Fedora 38 packages using command:

$ sudo dnf system-upgrade download --releasever=38

This command will download all latest packages and display the summary of what packages are going to be replaced, updated, upgraded, or downgraded. This task should take several minutes to complete as it downloads a lot of packages.

If some of your packages have unsatisfied dependencies, the upgrade will refuse to continue until you run it again with an extra --allowerasing option.

$ sudo dnf system-upgrade download --releasever=38 --allowerasing

Step 4: Once all packages are downloaded, run the following command to start actual upgrade.

$ sudo dnf system-upgrade reboot

Your system will reboot automatically and upgrade task will start to install all downloaded packages.

Upon successful upgrade, the system reboots into the new Fedora 38 server edition.

Fedora Post-upgrade Tasks

In this section, we will do a few post-upgrade tasks such as changing the hostname, removing unwanted packages, updating configuration files, deleting orphaned symlinks, and cleaning up old kernels etc.

The steps provided below are applicable for both Fedora desktop and server editions.

1. Change Hostname

I usually use distribution's name as hostname. For example, the hostname for my Fedora 38 desktop would be fedora38. If you're anything like me, change the hostname to match with your current version.

To change hostname, run:

$ sudo hostnamectl set-hostname fedora38

2. Clean DNF Metadata Cache

After upgrade, the cached metadata and transacation can cleared using the following commands:

$ sudo dnf system-upgrade clean
$ sudo dnf clean packages

3. Remove Old Packages

List all packages with broken or unsatisfied dependencies, run:

$ sudo dnf update
$ sudo dnf repoquery --unsatisfied

List all duplicate packages using command:

$ sudo dnf repoquery --duplicates

List all packages that are not in the repositories:

$ sudo dnf list extras

If you don't need them anymore, simply run the following commands to remove old, and unused packages.

$ sudo dnf remove $(sudo dnf repoquery --extras --exclude=kernel,kernel-*)
$ sudo dnf autoremove

4. Clean Up Retired Packages

A few packages will be retired in each Fedora release. They could be obsolete or the maintainer abandoned the packages. The retired packages packages will not get any updates. Not even security updates.

To remove obsolete and retired packages, run:

$ sudo dnf install remove-retired-packages 
$ remove-retired-packages

5. Update System Configuration Files

To update system configuration files, use rpmconf tool.

To install rpmconf tool, run:

$ sudo dnf install rpmconf

Once the install is complete, run the following command:

$ sudo rpmconf -a

6. Clean Up Old Kernels

The dnf autoremove command will not remove any unused kernels to avoid unintentional Kernel removals. If you want to remove old kernels, you can use the following command:

$ sudo dnf remove $(dnf repoquery --installonly --latest-limit=-3)

The above command will remove all old kernels and retain only the latest 3 kernels.

Heads Up: It is HIGHLY RECOMMENDED to keep at least two kernels. Because, if there is a problem in the current Kernel version after upgrading, you can safely switch to the older kernel.

After system upgrade, there would be some unused symlinks left in your system. You need to find and delete the dangling soft links or symlinks that don't point anywhere.

To find broken symlinks in /usr directory, run:

$ sudo symlinks -r /usr | grep dangling

To remove the dangling symlinks, run:

$ sudo symlinks -r -d /usr

Finally, reboot your system:

$ sudo reboot

Start using the latest Fedora 38 edition.


In this guide, we have seen how to upgrade to Fedora 38 from Fedora 37 via Gnome Software center and from terminal. At the end, we included a few post-upgrade steps that needs to be done to cleanup the newly upgraded fedora system.

You May Also Like

1 comment

Doug May 11, 2023 - 4:22 am

worked like a champ


Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More