DNF system-upgrade Plugin¶
DNF system-upgrades plugin provides three commands:
system-upgrade command requires increase of distribution major
--releasever) compared to installed version.
dnf system-upgrade is a recommended way to upgrade a system to a new major release.
It replaces fedup (the old Fedora Upgrade tool). Before you proceed ensure that your system
is fully upgraded (
dnf --refresh upgrade).
system-upgrade command also performes additional actions necessary for the upgrade of the
system, for example an upgrade of groups and environments.
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>
- Downloads everything needed to upgrade to a new major release.
- Prepares the system to perform the upgrade, and reboots to start the upgrade.
This can only be used after the
downloadcommand completes successfully.
- Remove previously-downloaded data. This happens automatically at the end of a successful upgrade.
- Used to see a list of boots during which an upgrade was attempted, or show
the logs from an upgrade attempt. The logs for one of the boots can be shown
by specifying one of the numbers in the first column. Negative numbers can
be used to number the boots from last to first. For example,
log --number=-1can be used to see the logs for the last upgrade attempt.
- REQUIRED. The version to upgrade to. Sets
$releaseverin all enabled repos. Usually a number, or
- Redirect download of packages to provided
<path>. By default, packages are downloaded into (per repository created) subdirectories of /var/lib/dnf/system-upgrade.
- Behave like
dnf distro-sync: always install packages from the new release, even if they are older than the currently-installed version. This is the default behavior.
- Behave like
dnf update: do not install packages from the new release if they are older than what is currently installed. This is the opposite of
--distro-sync. If both are specified, the last option will be used. The option cannot be used with the
- When applied with the
rebootsubcommand, the system will power off after upgrades are completed, instead of restarting.
- Applied with
logsubcommand will show the log specified by the number.
dnf system-upgrade reboot does not create a “System Upgrade” boot item. The
upgrade will start regardless of which boot item is chosen.
DNF_SYSTEM_UPGRADE_NO_REBOOT environment variable can be set to a
non-empty value to disable the actual reboot performed by
(e.g. for testing purposes).
Since this is a DNF plugin, options accepted by
dnf are also valid here,
See dnf(8) for more information.
fedup command is not provided, not even as an alias for
Upgrading from install media (e.g. a DVD or .iso file) currently requires the user to manually set up a DNF repo and fstab entry for the media.
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
Bugs should be filed here:
For more info on filing bugs, see the Fedora Project wiki:
/var/log/dnf.log and the output of
dnf system-upgrade log --number=-1 (if applicable) in your bug reports.
Problems with dependency solving during download are best reported to the maintainers of the package(s) with the dependency problems.
Similarly, problems encountered on your system after the upgrade completes should be reported 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.
dnf(8), dnf.conf(5), journalctl(1).