Summary
I tried using the DNF System Plugin to upgrade Fedora Workstation on my desktop computer and it stalled, then refused to continue without removing protected packages.
System Specifications
CPU: Ryzen 7 5800X (x86_64)
Motherboard: ASRock B550 Phantom Gaming ITX/ax
Kernel version: 7.0.9-105.fc43.x86_64
Issue Details
About six hours ago I began attempting to upgrade from Fedora Workstation 43 to 44 Using the DNF System Plugin.
I completed the following steps as described in the documentation linked above:
- ran
sudo dnf system-upgrade download --releasever=44, then rebooted - ran
sudo dnf system-upgrade download --releasever=44 - Looked at what packages would be replaced or removed. At this stage nothing seemed problematic to me, but I don’t have enough experience to be sure of what to look for. I decided to trust the upgrade process.
- Accepted the GPG key’s fingerprint
When I attempted the final step, using sudo dnf offline reboot, I observed the updated stall at 42% for about five hours. I then used the keyboard shortcut CTRL+ALT+DEL, which appeared to restart the system and display a black screen. As of this writing, the system remains on.
Without being able to see anything on the system I want to upgrade, I have used SSH to attempt to complete the upgrade over my local network. After logging in successfully, I tried the following commands and got the following outputs.
sudo dnf distro-sync --refresh --allowerasing --releasever=44
Updating and loading repositories:
Fedora 44 - x86_64 - Updates 100% | 28.5 KiB | 00m04s
RPM Fusion for Fedora 44 - Nonfre 100% | 5.3 KiB | 00m03s
RPM Fusion for Fedora 44 - Nonfre 100% | 5.5 KiB | 00m03s
[some more repostories load here]
Repositories loaded.
Failed to resolve the transaction:
Problem: The operation would result in removing the following protected packages: NetworkManager, dnf5, gnome-shell, grub2-efi-ia32, grub2-efi-x64, grub2-pc, grub2-tools-minimal, selinux-policy-targeted, setup, shim-ia32, shim-x64, sudo, systemd, systemd-udev
You can try to add to command line:
--skip-broken to skip uninstallable packages
sudo dnf system-upgrade reboot
System is not ready for offline transaction.
sudo dnf system-upgrade download --releasever=44
Updating and loading repositories:
Repositories loaded.
Failed to resolve the transaction:
Package "mactel-boot-0.9-36.fc43.x86_64" is already installed.
Package "showtime-50.0-1.fc44.noarch" is already installed.
Package "glycin-thumbnailer-2.0.8-1.fc43.x86_64" is already installed.
Package "glycin-thumbnailer-2.1.1-1.fc44.x86_64" is already installed.
[15 or so further packages are already installed]
Problem: The operation would result in removing the following protected packages: NetworkManager, dnf5, gnome-shell, grub2-efi-ia32, grub2-efi-x64, grub2-pc, grub2-tools-minimal, selinux-policy-targeted, setup, shim-ia32, shim-x64, sudo, systemd, systemd-udev
sudo dnf distro-sync --refresh --allowerasing --releasever=44 --skip-broken
[See the first dnf distro-sync output above]
I definitely don’t want DNF to brick my system by the init system or anything else important. Using --skip-broken with the above distro-sync command returned the same output seen without enabling that option.