Complete a Partial/Hung Upgrade Process (fc41->fc43)

Hello,

Please forgive any lack of precision in the below. I do not claim to be Linux literate, much less an expert. Any assistance is appreciated.

I am/was running Fedora Linux Cinnamon spin. I installed a couple releases ago (37 to 39, somewhere in there).

I was on release 41 and it is now out of support, so I needed to update to release 43. I attempted to do so through the software centre GUI. It downloaded/installed some stuff, rebooted to a screen with a progress %, and seemed to complete. It rebooted to the normal login screen.

When I run uname -r in the terminal I get ā€œ6.17.10-100.fc41.x86_64ā€ which is clearly still a fc41 kernel. (Also none of the fc43 kernels showed up in GRUB’s menu so I could tell the upgrade didn’t complete correctly.)

When I run rpm -q kernel in the terminal I get:
kernel-6.17.7-100.fc41.x86_64
kernel-6.17.10-100.fc41.x86_64
kernel-6.18.16-200.fc43.x86_64

So a newer kernel has definitely been installed. At this point I tried to use some command line dnf commands to get it to complete, and it gets messy.

I tried sudo dnf --releasever=43 distro-sync but it spat out a bunch of errors, the most prominent of which was:

  • Problem: The operation would result in removing the following protected packages: dnf5, grub2-efi-ia32, grub2-efi-x64, grub2-tools-minimal, setup, shim-ia32, shim-x64, sudo, systemd, systemd-udev

I also had a bunch of wine-dxvk errors:

  • Problem 1: wine-dxvk-2.6.2-1.fc41.i686 from @System has inferior architecture - wine-dxvk-2.6.2-1.fc41.x86_64 does not belong to a distupgrade repository - problem with installed package
  • Problem 2: wine-dxvk-d3d10-2.6.2-1.fc41.i686 from @System has inferior architecture - wine-dxvk-d3d10-2.6.2-1.fc41.x86_64 does not belong to a distupgrade repository - problem with installed package
  • Problem 3: wine-dxvk-d3d8-2.6.2-1.fc41.i686 from @System has inferior architecture - wine-dxvk-d3d8-2.6.2-1.fc41.x86_64 does not belong to a distupgrade repository - problem with installed package
  • Problem 4: wine-dxvk-d3d9-2.6.2-1.fc41.i686 from @System has inferior architecture - wine-dxvk-d3d9-2.6.2-1.fc41.x86_64 does not belong to a distupgrade repository - problem with installed package
  • Problem 5: wine-dxvk-dxgi-2.6.2-1.fc41.i686 from @System has inferior architecture - wine-dxvk-dxgi-2.6.2-1.fc41.x86_64 does not belong to a distupgrade repository - problem with installed package

I think I resolved the wine-dxvk errors by running sudo dnf remove wine-dxvk\* and also by going into Steam and uninstalling basically everything (basically all the Proton versions).

I did get some errors with that too, as below:

>>> Running %postun scriptlet: wine-dxvk-d3d9-0:2.7.1-5.fc43.x86_64 >>> Non-critical error in %postun scriptlet: wine-dxvk-d3d9-0:2.7.1-5.fc43.x86_64 >>> Scriptlet output: >>> /usr/lib64/wine-wow64/wine/x86_64-windows/dxvk-d3d9.dll has not been configured as an alternative for wine-d3d9(x86-64) >>> >>> [RPM] %postun(wine-dxvk-d3d9-2.7.1-5.fc43.x86_64) scriptlet failed, exit status 2 [12/16] Removing wine-dxvk-d3d8-0:2.7.1-5.fc43.x86_64 100% | 300.0 B/s | 3.0 B | 00m00s >>> Running %postun scriptlet: wine-dxvk-d3d8-0:2.7.1-5.fc43.x86_64 >>> Non-critical error in %postun scriptlet: wine-dxvk-d3d8-0:2.7.1-5.fc43.x86_64 >>> Scriptlet output: >>> /usr/lib64/wine-wow64/wine/x86_64-windows/dxvk-d3d8.dll has not been configured as an alternative for wine-d3d8(x86-64) >>> >>> [RPM] %postun(wine-dxvk-d3d8-2.7.1-5.fc43.x86_64) scriptlet failed, exit status 2 [13/16] Removing wine-dxvk-d3d10-0:2.7.1-5.fc43.x86_64 100% | 300.0 B/s | 3.0 B | 00m00s >>> Running %postun scriptlet: wine-dxvk-d3d10-0:2.7.1-5.fc43.x86_64 >>> Non-critical error in %postun scriptlet: wine-dxvk-d3d10-0:2.7.1-5.fc43.x86_64 >>> Scriptlet output: >>> /usr/lib64/wine-wow64/wine/x86_64-windows/dxvk-d3d10core.dll has not been configured as an alternative for wine-d3d10core(x86-64) >>> >>> [RPM] %postun(wine-dxvk-d3d10-2.7.1-5.fc43.x86_64) scriptlet failed, exit status 2 [14/16] Removing wine-dxvk-0:2.7.1-5.fc43.x86_64 100% | 454.0 B/s | 5.0 B | 00m00s >>> Running %postun scriptlet: wine-dxvk-0:2.7.1-5.fc43.x86_64 >>> Non-critical error in %postun scriptlet: wine-dxvk-0:2.7.1-5.fc43.x86_64 >>> Scriptlet output: >>> /usr/lib64/wine-wow64/wine/x86_64-windows/dxvk-d3d11.dll has not been configured as an alternative for wine-d3d11(x86-64) >>> >>> [RPM] %postun(wine-dxvk-2.7.1-5.fc43.x86_64) scriptlet failed, exit status 2 [15/16] Removing wine-dxvk-dxgi-0:2.7.1-5.fc43.x86_64 100% | 300.0 B/s | 3.0 B | 00m00s >>> Running %postun scriptlet: wine-dxvk-dxgi-0:2.7.1-5.fc43.x86_64 >>> Non-critical error in %postun scriptlet: wine-dxvk-dxgi-0:2.7.1-5.fc43.x86_64 >>> Scriptlet output: >>> /usr/lib64/wine-wow64/wine/x86_64-windows/dxvk-dxgi.dll has not been configured as an alternative for wine-dxgi(x86-64) >>> >>> [RPM] %postun(wine-dxvk-dxgi-2.7.1-5.fc43.x86_64) scriptlet failed, exit status 2 [16/16] Removing wine-dxvk-dxgi-0:2.6.2-1.fc41.i686 100% | 3.0 B/s | 3.0 B | 00m01s Transaction failed: Rpm transaction failed.

At that point I made matters worse by going back into the software centre and trying to install some system updates, including a firmware update that I am pretty sure was for my motherboard/UEFI. The updates installed and then on reboot, I got some ā€˜Volume Full’ errors for MokListRT, MokListXRT, SbatLevelRT, MokListTrustedRT. I went into the UEFI and deleted my secure boot keys and disabled it, which gave me access to the GRUB bootmenu again. (Note that I also have Windows installed as a dual-boot setup.) Anyway I was able to boot into Windows and then also Fedora again, after this silly diversion. (As an aside, I am pretty sure my tiny NVRAM on my MB got full from key updates? I’m no expert on that but I’ll figure out secure boot after I finish upgrading.)

So after rebooting into Fedora I tried sudo dnf --releasever=43 distro-sync which gave me the same problem ā€œProblem: The operation would result in removing the following protected packages: dnf5, grub2-efi-ia32, grub2-efi-x64, grub2-tools-minimal, setup, shim-ia32, shim-x64, sudo, systemd, systemd-udevā€

I also tried sudo dnf upgrade --refresh which seemed to work correctly (Nothing to do) except it only shows RPM Fusion for Fedora 41 repositories (the system clearly still believes it is a fc41 release.)

I tried sudo dnf system-upgrade download --releasever=43 and while it did connected to the Fedora 43 repositories, it gave me this:
Failed to resolve the transaction:
Package ā€œgnome-software-47.5-1.fc41.x86_64ā€ is already installed.
Package ā€œgnome-software-49.3-1.fc43.x86_64ā€ is already installed.
Package ā€œrpmfusion-nonfree-release-41-1.noarchā€ is already installed.
Package ā€œrpmfusion-nonfree-release-43-1.noarchā€ is already installed.
Package ā€œrpmfusion-free-release-41-1.noarchā€ is already installed.
Package ā€œrpmfusion-free-release-43-1.noarchā€ is already installed.
Package ā€œqcom-wwan-firmware-20251021-1.fc41.noarchā€ is already installed.
Package ā€œqcom-wwan-firmware-20260221-1.fc43.noarchā€ is already installed.
Packages for argument ā€˜nvidia-gpu-firmware’ available, but not installed.
Problem: The operation would result in removing the following protected packages: dnf5, grub2-efi-ia32, grub2-efi-x64, grub2-tools-minimal, setup, shim-ia32, shim-x64, sudo, systemd, systemd-udev

I tried both sudo dnf5 offline reboot and sudo dnf system-upgrade reboot which both replied that, ā€œNo offline transaction is stored.ā€

So then, in order to make this situation even more confusing, I decided that maybe skipping a release wasn’t a great idea and I should have just upgraded to 42 instead, and promptly proceeded to sudo dnf system-upgrade download --releasever=42 --allowerasing, which at least gave me new information with this, which is at least slightly different:

  • Problem: The operation would result in removing the following protected packages: shim-ia32, shim-x64

So, at this point I have a Fedora 41 system with some stuff from both 43 and 42 installed. If anyone could give me some steps to get it back to a bit of a vanilla setup, (identify and remove whatever is blocking the upgrade process) and step me through upgrading (via 42 to 43, or straight to 43) that would be amazing.

Thanks for your time and apologies for any confusion/mess.

1 Like

Repos seem to all be out of date after upgrading to 43 - #4 by vgaetera

1 Like

Thank you… after doing this do I need to do anything to ensure that GRUB is updated and I have an option to boot into 43?

If the kernel issue persists, reinstall it:

sudo dnf reinstall kernel\* --skip-unavailable

Make sure to boot the latest kernel from the GRUB menu.

1 Like

One of my systems accumulates stuff in nvram. Booting into UEFI frees up space.

For anyone visiting as a result of a future Internet search, I ran a few more commands and my situations seems ok.

I was really worried because the command provided by Vladislav said, ā€œTotal size of inbound packages is 690 KiB. Need to download 690 KiB. After this operation, 12 GiB will be freed (install 4 MiB, remove 12 GiB).ā€ I saw that almost all of the removed packages were from version 41, though, and I have faith in him, so I ran it anyway.

I wanted to make sure all the version 43 packages were in place, so I ran the following afterwards. (Note that I don’t really understand this, I’m just trying stuff.)

sudo dnf install kernel kernel-core kernel-modules
sudo dnf install @workstation-product-environment --allowerasing
sudo dnf install @cinnamon-desktop-environment
sudo dracut --regenerate-all --force
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

I ran hostnamectl occasionally in there.

After rebooting I was able to select a 43 kernel from the GRUB menu.
Once back into Linux I ran sudo dnf distro-sync --allowerasing to remove some old packages again (which I assume were locked because they were in use while I was still booted into a 41 kernel).

Anyway, a lot of that was probably unnecessary. I thought it appropriate to come back and document what I did.

1 Like