rpm-software-management / dnf-plugin-system-upgrade

A DNF plugin for system upgrades (moved to dnf-plugins-extras!)
GNU General Public License v2.0
24 stars 22 forks source link

:warning: NOTE: this repo is obsolete :warning:

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.)


dnf-plugin-system-upgrade

A plugin for DNF that does fedup-style upgrades using systemd's [Offline Updates] facility.

Installation

make install

Example Usage

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

Testing Tips

Finding upgrade logs

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.

Enable debug shell on /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.

In case of boot problems

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.

Reporting bugs

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.