DNF4-SYSTEM-UPGRADE(8)
π¦ dnf4-system-upgrade β the DNF system-upgrade plugin, bestie edition π¦
okay so this is a page from the dnf-plugins-core manual, and it's literally called DNF4-SYSTEM-UPGRADE(8). If you've ever wanted to jump your whole system to the next major release and have it actually work, this is your girl. Let's get into it π
β¨ NAME β¨
dnf4-system-upgrade β the DNF system-upgrade Plugin, no cap.
πΈ DESCRIPTION πΈ
So the DNF system-upgrades plugin gives you three commands, and they're all kind of iconic in their own way: system-upgrade, offline-upgrade, and offline-distrosync. Only the system-upgrade command actually requires you to bump up the distribution major version with --releasever compared to whatever's installed right now β the other two are out here living their best lives without that requirement.
dnf system-upgrade is the recommended way to upgrade a system to a new major release, periodt. It replaces fedup (the ancient Fedora Upgrade tool, RIP bozo). Before you proceed, make sure your system is fully upgraded first β run dnf --refresh upgrade β otherwise you're kind of setting yourself up ngl.
The system-upgrade command also does extra little tasks that are necessary for the upgrade of the system, like upgrading groups and environments. It's giving main character energy, doing the most so you don't have to π«Ά
β SYNOPSIS β
dnf system-upgrade download --releasever VERSION [OPTIONS]
dnf system-upgrade reboot
dnf system-upgrade reboot --poweroff
dnf system-upgrade clean
dnf system-upgrade log
dnf system-upgrade log --number=<number>
dnf offline-upgrade download [OPTIONS]
dnf offline-upgrade reboot
dnf offline-upgrade reboot --poweroff
dnf offline-upgrade clean
dnf offline-upgrade log
dnf offline-upgrade log --number=<number>
dnf offline-distrosync download [OPTIONS]
dnf offline-distrosync reboot
dnf offline-distrosync reboot --poweroff
dnf offline-distrosync clean
dnf offline-distrosync log
dnf offline-distrosync log --number=<number>
π SUBCOMMANDS π
downloadβ Grabs literally everything you need to upgrade to a new major release. All the packages, the whole vibe, downloaded and ready β¨rebootβ Gets the system prepped to do the upgrade, then reboots so the upgrade can start. Heads up: you can only use this after thedownloadcommand has finished successfully. No skipping steps πcleanβ Removes data you previously downloaded. Lowkey you don't have to worry about this one too much, because it happens automatically at the end of a successful upgrade πΈlogβ Shows you a list of boots where an upgrade was attempted, or shows you the logs from one of those attempts. To see the logs for a specific boot, just pass one of the numbers from the first column. Negative numbers count the boots backwards, from last to first β solog --number=-1shows you the logs from the last upgrade attempt. Obsessed with a shortcut, fr fr π
π OPTIONS π
--releasever=VERSIONβ REQUIRED, bestie, don't forget it. This is the version you're upgrading to. It sets$releaseverin all your enabled repos. Usually it's a number, orrawhideβ¨--downloaddir=<path>β Redirects where the packages get downloaded to the<path>you give it. By default, packages go into (per repository created) subdirectories of/var/lib/dnf/system-upgradeπ--distro-syncβ Behaves likednf distro-sync: always installs packages from the new release, even if they're older than the version currently installed. This is the default behavior, so it's kind of the moment π--no-downgradeβ Behaves likednf update: does not install packages from the new release if they're older than what's currently installed. This is the opposite of--distro-sync. If you specify both, the last option wins. Also, this option cannot be used with theoffline-distrosynccommand β that's a hard no π«--poweroffβ When used with therebootsubcommand, the system powers off after upgrades complete instead of restarting. Off you go, sleep tight π--numberβ Used with thelogsubcommand, shows the log specified by the number π’
π NOTES π
dnf system-upgrade reboot does not create a "System Upgrade" boot item. The upgrade starts no matter which boot item you pick β so don't go looking for a special menu entry that isn't there π
You can set the DNF_SYSTEM_UPGRADE_NO_REBOOT environment variable to a non-empty value to disable the actual reboot that system-upgrade performs (like, for testing purposes, iykyk).
Since this is a DNF plugin, options accepted by dnf are also valid here β --allowerasing, for example. See dnf(8) for more info π«Ά
And huge PSA: the fedup command is not provided, not even as an alias for dnf system-upgrade. She's gone, bestie, we don't do that anymore π
π BUGS π
Upgrading from install media (like a DVD or .iso file) currently requires the user to manually set up a DNF repo and an fstab entry for the media. Yeah. Manual. We don't love it, but that's the situation π
π¦ EXAMPLES π¦
πΈ Typical upgrade usage
dnf --refresh upgrade
dnf system-upgrade download --releasever 26
dnf system-upgrade reboot
β Show logs from last upgrade attempt
dnf system-upgrade log --number=-1
π REPORTING BUGS π
Found a bug? File it here:
https://bugzilla.redhat.com/
For more info on filing bugs, see the Fedora Project wiki:
https://fedoraproject.org/wiki/How_to_file_a_bug_report
https://fedoraproject.org/wiki/Bugs_and_feature_requests
Please include /var/log/dnf.log and the output of dnf system-upgrade log --number=-1 (if applicable) in your bug reports. It helps so much, ngl π
Problems with dependency solving during the download are best reported to the maintainers of the package(s) that have the dependency problems β not us, they know their stuff best π
Same energy for problems you hit on your system after the upgrade completes: report those to the maintainers of the affected components. In other words β if (for example) KDE stops working, it's best if you report that to the KDE maintainers π
π SEE ALSO π
dnf(8), dnf.conf(5), journalctl(1).
π Project homepage
https://github.com/rpm-software-management/dnf-plugins-core
π§ AUTHORS π§
Will Woods <wwoods@redhat.com>
Ε tΔpΓ‘n Smetana <ssmetana@redhat.com>
β¨ AUTHOR β¨
See AUTHORS in your Core DNF Plugins distribution π«Ά
π COPYRIGHT π
2026, Red Hat, Licensed under GPLv2+
and that's the whole page, bestie! π Version 4.7.0, dated Aug 10, 2026 β that's the flex, go upgrade something, slay, and don't forget --releasever β¨ππ¦
π¦ where this page comes from
- centos-stream 10: dnf-plugins-core 4.7.0-12.el10 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms