Hello, I am stuck on the first 1-2-3 stages of the qubes-dist-upgrade script. Trying to upgrade to 4.3.rc-2 I have tried using --skip-broken as the error suggested. Anyone know how to resolve this within Qubes OS ?
Performing distro-sync. This may take a while...
Fedora 41 - x86_64 15 kB/s | 27 kB 00:01
Fedora 41 - x86_64 - Updates 6.4 kB/s | 19 kB 00:02
Qubes Host Repository (updates) 1.7 kB/s | 2.7 kB 00:01
Error:
Problem: The operation would result in removing the following protected packages: dnf
(try to add '--skip-broken' to skip uninstallable packages)
Not really, I was having issues trying to get the qubes-dist-upgrade installed before this error. I did enable all testing in the global config. and installed a few updates before finally getting it installed.
Not really, I was having issues trying to get the qubes-dist-upgrade installed before this error. I did enable all testing in the global config. and installed a few updates before finally getting it installed.
Using sys-whonix as UpdateVM for Dom0
Downloading updates. This may take a while...
Fedora 41 - x86_64 12 kB/s | 27 kB 00:02
Fedora 41 - x86_64 - Updates 8.9 kB/s | 19 kB 00:02
Qubes Host Repository (updates) 1.7 kB/s | 2.7 kB 00:01
Error:
Problem 1: cannot install the best update candidate for package grub2-tools-minimal-1000:2.06-4.fc37.x86_64
- problem with installed package grub2-tools-minimal-1000:2.06-4.fc37.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
- package grub2-tools-minimal-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
- cannot install the best update candidate for package device-mapper-libs-1:1.02.171-6.fc37.x86_64
- cannot install both device-mapper-libs-1.02.199-4.fc41.x86_64 and device-mapper-libs-1:1.02.171-6.fc37.x86_64
Problem 2: cannot install the best update candidate for package grub2-tools-1000:2.06-4.fc37.x86_64
- problem with installed package grub2-tools-1000:2.06-4.fc37.x86_64
- package grub2-tools-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
- package grub2-tools-efi-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
- package grub2-tools-extra-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
- package grub2-tools-minimal-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
- cannot install the best update candidate for package device-mapper-1:1.02.171-6.fc37.x86_64
- package device-mapper-1:1.02.171-6.fc37.x86_64 requires device-mapper-libs = 1:1.02.171-6.fc37, but none of the providers can be installed
- package device-mapper-libs-1.02.199-4.fc41.x86_64 requires device-mapper = 1.02.199-4.fc41, but none of the providers can be installed
- cannot install both device-mapper-libs-1.02.199-4.fc41.x86_64 and device-mapper-libs-1:1.02.171-6.fc37.x86_64
The device-mapper-libs in F41 has (intentionally) lower version than in F37 (epoch is dropped). I see dnf distro-sync has --best flag, maybe that’s an issue.
What happens if at this stage you run in dom0 sudo dnf distro-sync --allowerasing? (do not confirm if it complains about some conflicts)
Note this will work only if you haven’t called qubes-dom0-update manually in the meantime - qubes-dist-upgrade should left cached packages in dom0, but qubes-dom0-update would remove them.
cc @alimirjamali This is what I get when I run sudo dnf distro-sync --allowerasing
$ sudo dnf distro-sync --allowerasing
Qubes OS Repository for Dom0 1.7 MB/s | 3.0 kB 00:00
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Upgrading:
glibc x86_64 2.40-28.fc41 qubes-dom0-cached 2.2 M
glibc-all-langpacks x86_64 2.40-28.fc41 qubes-dom0-cached 17 M
glibc-common x86_64 2.40-28.fc41 qubes-dom0-cached 351 k
glibc-gconv-extra x86_64 2.40-28.fc41 qubes-dom0-cached 1.6 M
Transaction Summary
================================================================================
Upgrade 4 Packages
Total size: 22 M
Is this ok [y/N]: n
CC alimirjamali
Hello, after running sudo dnf distro-sync --allowerasing , it did not complain about any conflicts so I confirmed it did 4 upgrades. However I ran the $ sudo qubes-dist-upgrade --releasever=4.3 --all-pre-reboot -y --keep-running sys-firewall and received the same error as beginning post.
I know your both busy , I appreciate your time and responses .
You can also try individual stages, so instead of --all-pre-reboot, use --dist-upgrade (looks like stage 1 and 2 already completed).
Based on your earlier output, stage 3 might have completed too - you can verify by running rpm -qa |grep -v fc41 - it should output only a few pubkey lines and maybe one or two other packages. If there are many fc37, then stage 3 isn’t done yet.
I ran rpm -qa | grep -v fc41 the output was to many packages to count. I ran $ sudo qubes-dist-upgrade --releasever=4.3 -y --keep-running sys-firewall , this is the output then it just quits after shutting down other running qubes.
INFO: Please wait while running pre-checks...
INFO: Found sys-usb providing input devices. It will be kept running.
WARNING: /!\ MAKE SURE YOU HAVE MADE A BACKUP OF ALL YOUR VMs AND dom0 DATA /!\
$ sudo qubes-dist-upgrade --releasever=4.3 --dist-upgrade -y --keep-running sys-firewall
INFO: Please wait while running pre-checks...
INFO: Found sys-usb providing input devices. It will be kept running.
WARNING: /!\ MAKE SURE YOU HAVE MADE A BACKUP OF ALL YOUR VMs AND dom0 DATA /!\
---> (STAGE 3) Upgrading to QubesOS R4.3 and Fedora 41 repositories...
INFO: Xscreensaver has been killed. Desktop won't lock before next reboot.
Using sys-whonix as UpdateVM for Dom0
Downloading packages. This may take a while...
0 files removed
4 kB/s | 2.7 kB 00:01
Error:
Problem: The operation would result in removing the following protected packages: dnf
(try to add '--skip-broken' to skip uninstallable packages)
Another idea: try sudo qubes-dom0-update --action=distro-sync --force-xen-upgrade --allowerasing (similar to the one before, but via qubes-dom0-update, not dnf directly).
Note if that works, you’ll need few manual steps and reboot to continue:
systemctl preset-all
systemctl list-units | grep qubes-vm and then call systemctl enable for each listed service