Fedora does not need a reinstall every time a new stable release lands. The dnf5 system-upgrade command on Fedora stages the next release, checks dependency conflicts before reboot, and applies the upgrade in an offline environment instead of making you rebuild the system from scratch.
On Fedora 43, you still run this workflow with dnf, which already uses DNF5 under the hood. The same command sequence works on Workstation, Server, and minimal installs, while rpm-ostree editions such as Silverblue and CoreOS follow a different upgrade path.
Upgrade Fedora with the dnf5 system-upgrade command
Fedora recommends this as its command-line path for moving to a new major release. Back up important data before you start, keep the system on reliable power for the full upgrade, and check the offline upgrade documentation alongside the current Fedora release notes.
Confirm dnf5 system-upgrade is available on Fedora
Fedora 43 exposes the release-upgrade workflow directly through dnf, so verify the command first instead of looking for a separate plugin package name.
dnf system-upgrade --help
Usage: dnf5 [GLOBAL OPTIONS] system-upgrade <COMMAND> ... Commands: clean Remove any stored offline transaction and delete cached package files. log Show logs from past offline transactions reboot Prepare the system to perform the offline transaction and reboot to start the transaction. status Show status of the current offline transaction download Download everything needed to upgrade to a new release
Update the current Fedora release before dnf5 system-upgrade
Bring the current system fully up to date before you stage the next release. Fedora treats this as a required step because newer signing keys and package fixes often arrive through the normal update stream first.
sudo dnf upgrade --refresh
These commands use
sudofor tasks that need root privileges. If your Fedora account does not have sudo access yet, either switch to the root account or follow the steps to add a user to sudoers on Fedora.
Reboot after the update so the current kernel and userspace are in sync before you stage the release change.
sudo reboot
Download Fedora 43 packages with dnf5 system-upgrade
If the machine is on Fedora 42, download the current stable release with --releasever=43. Fedora also supports skipping one release, so Fedora 41 can jump to 43, but anything older should move forward in smaller steps.
The --releasever option overrides the release value in enabled repository files and points DNF at the new package set for the target release.
sudo dnf system-upgrade download --releasever=43
If the transaction stops on a third-party package conflict, rerun the download with --allowerasing. Review the removal list carefully before you accept it, because that option can remove packages you still rely on.
sudo dnf system-upgrade download --releasever=43 --allowerasing
Start the Fedora 43 offline reboot after dnf5 system-upgrade
DNF5 stages the release with system-upgrade download, then hands the transaction to the shared offline updater at reboot time. On Fedora 43, dnf offline reboot is the clearest DNF5 form for that final step.
sudo dnf offline reboot
If you prefer to stay inside the same command family, Fedora 43 still accepts the wrapper below and points it at the same staged offline transaction.
sudo dnf system-upgrade reboot
The dnf command already uses DNF5 on Fedora 43, so dnf offline reboot and dnf5 offline reboot refer to the same underlying command set. Close open applications first, and keep laptops connected to external power until the second reboot finishes.
Verify Fedora 43 after dnf5 system-upgrade
Once the system comes back up, confirm that Fedora 43 is running before you spend time re-enabling third-party repositories or cleaning cached packages.
cat /etc/fedora-release
Fedora release 43 (Forty Three)
After the first successful boot, you can remove stale dependencies and cached RPMs that are no longer useful.
sudo dnf autoremove
sudo dnf clean packages
Once the new release is settled, you can install DNF Automatic on Fedora if you want unattended security updates between major release upgrades.
Understand how DNF5 handles Fedora release upgrades
Once the main workflow is clear, the remaining details come down to how DNF5 names the shared offline actions and how aggressively it syncs packages to the new release.
Compare dnf5 system-upgrade and offline commands on Fedora
The release jump starts with dnf system-upgrade download, but the reboot, status, clean, and log actions are shared with the offline transaction engine. That is why current Fedora docs and the local DNF5 man pages use both command families.
Historically, Fedora tested DNF5 ahead of the switch, but the default /usr/bin/dnf provider did not move over until Fedora 41. Before that change, Fedora still treated DNF4 as the standard package-manager front end, which is why older Fedora upgrade posts often show a separate dnf5 binary, older plugin names, or DNF4-era examples mixed into the same topic.
sudo dnf system-upgrade download --releasever=43: Stages Fedora 43 packages and validates dependencies before reboot.sudo dnf offline reboot: Starts the staged offline transaction on the next boot.sudo dnf offline status: Shows whether an offline transaction is still pending.sudo dnf offline clean: Removes a staged transaction if you decide not to reboot into it.sudo dnf system-upgrade log --number=-1: Opens the most recent offline upgrade log.
Understand Fedora’s supported dnf5 system-upgrade window
Fedora officially supports upgrades to the next release and skipping one release, so Fedora 42 to 43 and Fedora 41 to 43 are both valid paths. For anything older, take smaller steps until the system is back inside that supported window.
Choose dnf5 system-upgrade options carefully on Fedora
The default behavior is already right for most Fedora upgrades, so only add extra flags when you have a specific package-management problem to solve.
--allowerasinglets DNF remove conflicting packages when a third-party repository has not caught up with Fedora 43 yet.--no-downgradetells DNF to skip packages that would sync to older builds in the target release. By default,system-upgrade downloadbehaves likedistro-syncagainst the new release, which is the safer default for most Fedora upgrades.
Inside the current release, sudo dnf upgrade --refresh handles normal package updates. The Fedora release jump itself starts only when you add system-upgrade download --releasever=43, and broader day-to-day package tasks are covered in these DNF5 install examples on Fedora.
Troubleshoot dnf5 system-upgrade problems on Fedora
Most failed Fedora upgrades come down to repository lag, free space, or a staged transaction you no longer want. Handle those three cases first before you start chasing rarer boot or package bugs.
List Fedora repo IDs before rerunning dnf5 system-upgrade
If a third-party repository has not published Fedora 43 packages yet, the download step can stall on dependency conflicts. List repo IDs first so you disable the exact source that is blocking the solver.
dnf repo list --all
repo id repo name status copr:copr.fedorainfracloud.org:phracek:PyCharm Copr repo for PyCharm owned by phracek disabled fedora Fedora 43 - x86_64 enabled fedora-cisco-openh264 Fedora 43 openh264 (From Cisco) - x86_64 enabled fedora-cisco-openh264-debuginfo Fedora 43 openh264 (From Cisco) - x86_64 - Debug disabled fedora-cisco-openh264-source Fedora 43 openh264 (From Cisco) - x86_64 - Source disabled fedora-debuginfo Fedora 43 - x86_64 - Debug disabled fedora-source Fedora 43 - Source disabled google-chrome google-chrome disabled rpmfusion-nonfree-nvidia-driver RPM Fusion for Fedora 43 - Nonfree - NVIDIA Driver disabled
Your list will usually be longer than this excerpt. The left column is the repo ID that config-manager expects, so swap in the repository you want to disable, rerun the upgrade download, and re-enable that repository after Fedora 43 is working normally again.
sudo dnf config-manager setopt google-chrome.enabled=0
Check the repo again right away so you know the toggle applied to the ID you meant to change.
dnf repo list --all | grep ^google-chrome
google-chrome google-chrome disabled
If dnf config-manager returns a missing-command error, install or update the current dnf5-plugins package first.
sudo dnf install dnf5-plugins
If the lagging repository is RPM Fusion, re-enable it after the release upgrade with the same setopt syntax. The current setup steps for that repository are documented in install RPM Fusion on Fedora.
Free disk space before rerunning dnf5 system-upgrade
Large package downloads and cached RPMs can fill the same filesystem that stores the offline transaction. Check free space before you retry the download.
df -h / /var
Filesystem Size Used Avail Use% Mounted on /dev/sda3 123G 5.3G 117G 5% / /dev/sda3 123G 5.3G 117G 5% /
If either location is tight, clear cached RPMs and then use the du command to find large directories before you rerun system-upgrade download.
sudo dnf clean packages
Read the last dnf5 system-upgrade log on Fedora
If the machine reboots back into the old release or the offline phase stops partway through, read the latest stored upgrade log before you rerun anything. The negative index counts backward from the newest attempt, so -1 means the most recent transaction.
sudo dnf system-upgrade log --number=-1
Cannot find logs with this index.
That message only means the system has no stored offline upgrade log yet. After a failed or completed transaction, the same command shows the last recorded boot log for the upgrade.
Use dnf distro-sync after a partial Fedora upgrade
If the release jump leaves the system partly upgraded or dependency issues remain after reboot, run a manual sync against the currently enabled repositories. Fedora documents this as the follow-up fix because system-upgrade already uses distro-sync behavior by default during the release change.
sudo dnf distro-sync
If the command finishes cleanly, the installed package set is back in sync with Fedora 43 and any enabled third-party repositories that already publish compatible builds.
Cancel a staged dnf5 system-upgrade on Fedora
If you decide not to continue before rebooting, remove the staged transaction instead of leaving cached upgrade data behind.
sudo dnf offline clean
Then confirm that no offline transaction is still queued for the next boot.
sudo dnf offline status
No offline transaction is stored.
The same cleanup is also available through sudo dnf system-upgrade clean, but the offline form matches current DNF5 documentation more closely.
dnf5 system-upgrade command on Fedora FAQ
No. That package name belongs to the older DNF4-era workflow. Fedora 43 exposes dnf system-upgrade directly through the current DNF5 command set, so you do not install a separate release-upgrade plugin for the normal Fedora 43 path.
Fedora 43 uses DNF5 under the standard dnf command. You can type dnf throughout the upgrade, and Fedora docs may also show dnf5 in examples for shared offline subcommands.
dnf system-upgrade download --releasever=43 stages the next Fedora release and checks dependency resolution first. dnf offline reboot starts the already-staged offline transaction on the next boot, which is why both command families appear in current DNF5 documentation.
Yes. Fedora currently supports upgrading to the next release and skipping one release, so Fedora 41 can jump to Fedora 43. Systems older than that should move forward in smaller steps.
sudo dnf upgrade --refresh updates packages inside your current Fedora release. sudo dnf system-upgrade download --releasever=43 stages the next Fedora release and prepares the offline transaction that moves the system to that new release.
Conclusion
Fedora 43 can be upgraded cleanly with the dnf5 system-upgrade workflow, from the initial package download to the offline reboot and cleanup after the first boot. Keep third-party repositories in sync with the new release, and future Fedora upgrades stay much closer to a routine maintenance window than a rebuild.
The argument –set-disabled for config-manager command doesn’t exist in my version of DNF5.
Is this a problem for others aswell? I manually # out 3rd party repos
Hi Rou,
Thanks for flagging this! In recent versions of DNF5 the
--set-disabledflag was replaced by a simpler--disableoption. For example, to disable a repo you’d run:And to re-enable it:
If you still see an error, make sure the config-manager plugin is installed:
As an alternative you can also edit the relevant
.repofile in/etc/yum.repos.d/and setenabled=0under the repo you wish to disable.I’ll update the guide to use the current flags—hope that helps!