The system-upgrade
plugin was moved to the dnf-plugins-core repo in 2022 (and before that was moved into the dnf-plugins-extras repo in 2017).
Please direct all patches, issues, etc. there instead.
(The original README.md is preserved below because it has some useful tips.)
A plugin for DNF that does fedup-style upgrades using systemd's [Offline Updates] facility.
make install
To download everything needed to upgrade to Fedora 23:
# dnf system-upgrade download --releasever=23
Once that finishes, you can begin the upgrade process:
# dnf system-upgrade reboot
There's also a fedup
-compatible wrapper script, so this works too:
# fedup --network 23
# fedup reboot
Everything printed by dnf
during the upgrade is in the system journal.
Run dnf system-upgrade log
to see a list of boots during which an
upgrade was attempted. Use dnf system-upgrade log [NUM]
, where
[NUM]
is usually -1, to see the logs for that boot using journalctl.
/dev/tty9
If you'd like a root shell available during the upgrade, add
systemd.debug-shell
to your boot arguments.
You can also enable the shell for all system updates/upgrades:
# systemctl add-wants system-update.target debug-shell.service
Switch to the shell with Ctrl-Alt-F9 and back to the upgrade progress with Ctrl-Alt-F1.
If the system gets stuck at system-update.target
without starting the
upgrade, remove /system-update
to make the system boot normally.
If you don't have the debug shell available, you can use the dracut emergency
shell; add rd.break
to the boot args, then:
# mount -o remount,rw /sysroot
# rm /sysroot/system-update
Exit the shell and your system should start normally.
Problems can be reported through
or through
Please include /var/log/dnf.log
and the output of
dnf system-upgrade log -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.