Home Fedora How To Upgrade To Fedora 39 From Fedora 38

How To Upgrade To Fedora 39 From Fedora 38

A Step-by-Step Guide to Upgrade Fedora 38 to Fedora 39 [Workstation and Server].

By sk
Published: Updated: 4.7K views

Fedora, a leading Linux distribution known for its cutting-edge features and stability, has recently released its latest version, Fedora 39. If you're currently running Fedora 38 and are eager to explore the new features of Fedora 39, this guide will walk you through the steps to upgrade from Fedora 38 to Fedora 39 for both Fedora Workstation and Fedora Server.

Before we delve into the upgrade process for Fedora 39, let's explore the new features in this release.

Fedora 39 Highlights

Fedora 39 brought a significant update with GNOME 45, which included:

  • New stylish widgets in core apps.
  • A new Image Viewer app developed with Rust, GTK 4, and libadwaita.
  • A dynamic workspace indicator for a more informative desktop experience.
  • Camera activity indicator for Pipewire access.
  • Redesigned default cursors.
  • Removal of the Adwaita-qt and QGnomePlatform Qt themes.

GNOME 45 also featured several performance improvements:

  • Hardware-accelerated video decoding.
  • Multithreaded thumbnailing in the Files app.
  • Reduced cursor stutter and latency.
  • Enhanced search performance in GNOME Shell and apps like Files and Software.

There were also improvements in core apps, such as:

  • A new System Details section and a keyboard layout viewer in the Settings app.
  • Improved search result ordering in Files.
  • The ability to remove user data when uninstalling Flatpaks.

For more details, check the Fedora 39 release notes.


Before you begin the upgrade process, ensure you have the following prerequisites in place:

  • Backup Your Data: It's crucial to back up your important data to prevent any potential data loss during the upgrade. You can explore our Backup Tools category for some good applications to back up your data.
  • Stable Internet Connection: Make sure you have a stable internet connection, as the upgrade process involves downloading packages from Fedora's repositories.
  • Uninterrupted Power Supply: Sudden power outages or disruptions during an upgrade can potentially lead to data corruption or system instability. To ensure a smooth and safe upgrade, it's a good practice to have a UPS or ensure that you have a stable power source to prevent any interruptions.
  • Check Fedora 39 common issues: See the Fedora 39 common issues and decide if you want to proceed.
  • Patience: Upgrading your system may take some time, depending on your internet speed and system performance.

Fedora Upgrade Limitation

Upgrades in Fedora follow a specific pattern. Upgrades to the very next release (e.g., 38 to 39) as well as upgrades skipping one release (e.g., 37 to 39) are both officially supported.

However, upgrades across more than two releases are not officially supported. For example, you can't directly upgrade from Fedora 36 to 39. While it might work in some cases, it's not a recommended or supported method. If you encounter any issues during such upgrades, you won't receive official support.

To ensure a smooth upgrade experience, it's advisable to follow the supported upgrade path. In the example of upgrading from Fedora 36 to 39, the recommended approach is to first upgrade from Fedora 36 to the next release in the sequence (i.e., 36 to 37) and then proceed with the upgrade from 37 to 39.

Furthermore, it's always a good practice to upgrade your Fedora installation before it reaches its End of Life (EOL) to ensure you receive timely updates, security patches, and support from the Fedora community.

That's enough for now. Without waiting any longer, let's get started with upgrading to Fedora 39.

Update Fedora 38

Ensure that your Fedora 38 installation is up to date. You can do this by running the following commands in your terminal:

$ 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 command:

$ cat /etc/fedora-release

To view the detailed version output, run this command instead:

$ cat /etc/os-release
Check Fedora Version from Command Line
Check Fedora Version from Command Line

Upgrade Fedora 38 Workstation to Fedora 39 Workstation via GNOME Software

You can perform the upgrade from Fedora 38 to Fedora 39 using the GNOME Software application, which provides a user-friendly graphical interface for system management. Here's how to do it:

Step 1 - Open GNOME Software:

Click on the "Activities" menu in the top left corner of your Fedora 38 desktop, type "Software" in the search bar, and click on the "Software" application icon to open it.

Open GNOME Software
Open GNOME Software

Step 2 - Go to Updates Section:

In GNOME Software, click on the "Updates" tab. You should see an option to "Fedora Linux 39 Available." Click on the Download button to start the download process.

Click Download Button to Download Fedora Linux 39
Click Download Button to Download Fedora Linux 39

GNOME Software will download the necessary files for the Fedora 39 upgrade. This process may take some time, depending on your internet connection speed.

Step 3 - Restart and Upgrade:

Once the download is complete, you'll be prompted to restart your Fedora system. Click "Restart & Upgrade" button.

Click Restart and Upgrade Button
Click Restart and Upgrade Button

Enter your sudo password to trigger the offline updates:

Enter Sudo Password to Trigger Updates
Enter Sudo Password to Trigger Updates

Your system will reboot now.

Once your Computer reboots, the actual upgrade will commence now. Be patient. It will take a few minutes to complete.

Installing Fedora Updates
Installing Fedora Updates

After the upgrade is installed, your system will reboot once again.

Step 4 - Log in to Fedora 39

Once your computer reboots, log in to your Fedora 39 desktop.

Congratulations! You've successfully upgraded your Fedora 38 system to Fedora 39 using GNOME Software.

Fedora Linux 39 Workstation
Fedora Linux 39 Workstation

You can verify the new Fedora version by opening a terminal and running:

$ cat /etc/fedora-release


$ cat /etc/os-release
Fedora Linux 39
Fedora Linux 39

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

Check Fedora Version in System Settings Section
Check Fedora Version in System Settings Section

Now that you've successfully upgraded your Fedora 38 installation to Fedora 39.

Enjoy exploring the new features and improvements in Fedora 39!

Upgrade to Fedora 39 Server from Fedora 38 Server

Step 1 - Update Fedora Server:

Log in to your Fedora Server and open a terminal session. Update your Server using commands:

$ sudo dnf --refresh update
$ sudo dnf upgrade

Reboot your system to apply the updates.

$ sudo reboot

Step 2 - Install DNF Plugin:

Install the DNF system upgrade plugin if it's not already installed:

$ sudo dnf install dnf-plugin-system-upgrade

Step 3 - Start the Upgrade:

Begin the upgrade process by running the following command:

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

This command will download the required packages for the upgrade. 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=39 --allowerasing

Step - 4 Reboot and Upgrade:

After the download is complete, reboot your server to start the upgrade process:

$ sudo dnf system-upgrade reboot

Step 5 - Upgrade Progress:

Your server will reboot and execute the upgrade. Follow the on-screen instructions, and the process will complete automatically.

Step 6 - Verify the Upgrade:

Once the upgrade is finished, log in to your Fedora 39 Server. Confirm the new Fedora version by running:

$ cat /etc/fedora-release

You've successfully upgraded your Fedora Server to Fedora 39.

Fedora Post-upgrade Tasks

In this section, we will perform 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 the distribution's name as the hostname. For example, the hostname for my Fedora 39 desktop would be fedora39. If you're anything like me, change the hostname to match your current version

To change hostname, run:

$ sudo hostnamectl set-hostname fedora39

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, run 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


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

Upgrading your Fedora system to the latest version allows you to enjoy the latest features, security enhancements, and improvements.

Make sure to regularly update your system to stay up-to-date with the Fedora community's developments. If you encounter any issues during the upgrade process, please leave a comment below or refer to Fedora's official documentation or seek assistance from the Fedora community.

You May Also Like


Grep November 19, 2023 - 10:31 pm

I guess in this part releasever 39 is desired, not 38:

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

sk November 20, 2023 - 10:31 am

Good catch. Thank you. Fixed now.


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