Distro-sync wants to remove dnf5

I upgraded from F40 using the graphical Software app. Distro-sync wants to remove dnf5 and others:

#sudo dnf distro-sync
Updating and loading repositories:
Repositories loaded.
Failed to resolve the transaction:
Problem: The operation would result in removing the following protected packages: dnf5, gnome-shell, grub2-tools-minimal, selinux-policy-targeted, systemd, systemd-udev
You can try to add to command line:
  --skip-broken to skip uninstallable packages

I think I remember needing to manually delete some dnf packages afterwards. I did run multiple upgrades since without running distro-sync until today.

I have a lot of duplicate packages, maybe because dnf did not delete the old package from the now unknown source?

#sudo dnf check --duplicates
ImageMagick-c++-1:7.1.1.39-1.fc41.x86_64
 duplicate with "ImageMagick-c++-1:7.1.1.41-1.fc41.x86_64"
ImageMagick-c++-1:7.1.1.41-1.fc41.x86_64
 duplicate with "ImageMagick-c++-1:7.1.1.39-1.fc41.x86_64"
ImageMagick-libs-1:7.1.1.39-1.fc41.x86_64
 duplicate with "ImageMagick-libs-1:7.1.1.41-1.fc41.x86_64"
ImageMagick-libs-1:7.1.1.41-1.fc41.x86_64
 duplicate with "ImageMagick-libs-1:7.1.1.39-1.fc41.x86_64"
SDL2-0:2.30.3-2.fc41.x86_64
 duplicate with "SDL2-0:2.30.9-1.fc41.x86_64"
SDL2-0:2.30.9-1.fc41.x86_64
 duplicate with "SDL2-0:2.30.3-2.fc41.x86_64"
abrt-0:2.17.6-2.fc41.x86_64
 duplicate with "abrt-0:2.17.6-3.fc41.x86_64"
abrt-0:2.17.6-3.fc41.x86_64
 duplicate with "abrt-0:2.17.6-2.fc41.x86_64"
...
dnf5-0:5.2.7.0-1.fc41.x86_64
 duplicate with "dnf5-0:5.2.8.1-2.fc41.x86_64"
dnf5-0:5.2.8.1-2.fc41.x86_64
 duplicate with "dnf5-0:5.2.7.0-1.fc41.x86_64"
dnf5-plugins-0:5.2.7.0-1.fc41.x86_64
 duplicate with "dnf5-plugins-0:5.2.8.1-2.fc41.x86_64"
dnf5-plugins-0:5.2.8.1-2.fc41.x86_64
 duplicate with "dnf5-plugins-0:5.2.7.0-1.fc41.x86_64"
...
xxd-2:9.1.866-1.fc41.x86_64
 duplicate with "xxd-2:9.1.919-1.fc41.x86_64"
xxd-2:9.1.919-1.fc41.x86_64
 duplicate with "xxd-2:9.1.866-1.fc41.x86_64"
Check discovered 718 problem(s) in 718 package(s)

Full list here

The common solution to removing the dupes is the distro-sync, which I can’t run. What’s the best way to solve this?

EDIT:

The real problem happens when trying to dnf update, which gives me conflicts for different architectures of the same package. Probably because it only updates one architecture of a package which is already installed in both archs:

#sudo dnf update
 libxcrypt                                                                     i686             4.4.37-1.fc41                                                                  updates                                        280.8 KiB
   replacing libxcrypt                                                         i686             4.4.36-10.fc41                                                                 <unknown>                                      282.8 KiB
 libxcrypt-compat                                                              i686             4.4.37-1.fc41                                                                  updates                                        206.4 KiB
   replacing libxcrypt-compat                                                  i686             4.4.36-10.fc41                                                                 <unknown>                                      208.8 KiB
 libxml2                                                                       i686             2.12.9-1.fc41                                                                  updates                                          1.8 MiB
   replacing libxml2                                                           i686             2.12.8-2.fc41                                                                  <unknown>                                        1.8 MiB
 llvm                                                                          x86_64           19.1.5-1.fc41                                                                  updates                                         74.2 MiB
   replacing llvm                                                              x86_64           19.1.0-1.fc41                                                                  <unknown>                                       75.3 MiB
 llvm-libs                                                                     i686             19.1.5-1.fc41                                                                  updates                                        127.4 MiB
   replacing llvm-libs                                                         i686             19.1.0-1.fc41                                                                  <unknown>                                      129.2 MiB
...
Running transaction
Transaction failed: Rpm transaction failed.
  - file /usr/share/doc/libxcrypt/NEWS from install of libxcrypt-4.4.37-1.fc41.i686 conflicts with file from package libxcrypt-4.4.36-10.fc41.x86_64
  - file /usr/share/doc/libxml2/NEWS from install of libxml2-2.12.9-1.fc41.i686 conflicts with file from package libxml2-2.12.8-2.fc41.x86_64
  - file /usr/share/doc/cairo/NEWS from install of cairo-1.18.2-2.fc41.i686 conflicts with file from package cairo-1.18.0-4.fc41.x86_64
  - file /usr/share/man/man5/pipewire-client.conf.5.gz from install of pipewire-libs-1.2.7-1.fc41.i686 conflicts with file from package pipewire-libs-1.2.6-1.fc41.x86_64
...

That only seems to deal with kernel packages. Should I run it repeatedly or increase the limit?

#dnf rq --installonly --latest-limit=-1
kernel-0:6.2.9-200.fc37.x86_64
kernel-0:6.3.12-200.fc38.x86_64
kernel-0:6.8.9-100.fc38.x86_64
kernel-core-0:6.2.9-200.fc37.x86_64
kernel-core-0:6.3.12-200.fc38.x86_64
kernel-core-0:6.8.9-100.fc38.x86_64
kernel-debug-0:6.2.9-200.fc37.x86_64
kernel-debug-0:6.3.12-200.fc38.x86_64
kernel-debug-core-0:6.2.9-200.fc37.x86_64
kernel-debug-core-0:6.3.12-200.fc38.x86_64
kernel-debug-devel-0:6.2.9-200.fc37.x86_64
kernel-debug-devel-0:6.3.12-200.fc38.x86_64
kernel-debug-modules-0:6.2.9-200.fc37.x86_64
kernel-debug-modules-0:6.3.12-200.fc38.x86_64
kernel-debug-modules-core-0:6.2.9-200.fc37.x86_64
kernel-debug-modules-core-0:6.3.12-200.fc38.x86_64
kernel-debug-modules-extra-0:6.2.9-200.fc37.x86_64
kernel-debug-modules-internal-0:6.2.9-200.fc37.x86_64
kernel-debug-uki-virt-0:6.2.9-200.fc37.x86_64
kernel-devel-0:6.2.9-200.fc37.x86_64
kernel-devel-0:6.3.12-200.fc38.x86_64
kernel-devel-0:6.8.9-100.fc38.x86_64
kernel-modules-0:6.2.9-200.fc37.x86_64
kernel-modules-0:6.3.12-200.fc38.x86_64
kernel-modules-0:6.8.9-100.fc38.x86_64
kernel-modules-core-0:6.2.9-200.fc37.x86_64
kernel-modules-core-0:6.3.12-200.fc38.x86_64
kernel-modules-core-0:6.8.9-100.fc38.x86_64
kernel-modules-extra-0:6.2.9-200.fc37.x86_64
kernel-modules-extra-0:6.3.12-200.fc38.x86_64
kernel-modules-internal-0:6.2.9-200.fc37.x86_64
kernel-modules-internal-0:6.3.12-200.fc38.x86_64
kernel-modules-internal-0:6.8.9-100.fc38.x86_64
kernel-uki-virt-0:6.2.9-200.fc37.x86_64
kernel-uki-virt-0:6.3.12-200.fc38.x86_64

Also it wants to remove current kernel

Failed to resolve the transaction:
Problem: The operation would result in removing of running kernel: kernel-core-0:6.8.9-100.fc38.x86_64

Should I try installing old dnf for remove --duplicates or regexp the list for the older duplicates and just dnf remove them?

If your running kernel is 6.8.9 from f38, please explain how this occurs.

You might also investigate the circumstances where you wound up with 3 installed kernels from f37 & f38 while upgrading to f41 since it is never recommended to upgrade more than 2 release versions in a single step.

I would suggest that you first remove the older kernels for f37 and f38 that are not the current kernel with dnf remove kernel\*6.2\* kernel\*6.3\* (those appear to be uki kernels and not true fedora kernels anyway). You also should probably verify removal of all kernel debug packages regardless of the kernel version with dnf list --installed kernel\*

After a reboot then rerun the command suggested to remove the duplicates but add the --exclude kernel\* to that command. so it does not attempt to remove the running kernel.

At that point find out why you are still booting an f38 kernel and fix that so you are booting the f41 kernel before doing anything else.

1 Like

Dnf5 was for testing in f40. It uses dnf4.

Edit: s/not for/for/

The old dnf is still available under the name dnf4. You can try to run

dnf4 remove --duplicates

It seems that the facility is still on the TO-DO list for dnf5.

As an alternative, with rpm you should be able re remove some duplicates using

rpm --erase --justdb PACKAGE_NAME ...

where “PACKAGE_NAME …” are the full names of the packages to be removed. Then dnf reinstall the full package names that you are going to keep.

This can become rather complicated, and it might be just easier doing a clean install of the new version.

After manually updating some packages that dnf4 could no longer see, dnf4 remove --duplicates seems to have the right idea. But I get the same error in the end.

$ sudo dnf4 remove --duplicates
Last metadata expiration check: 0:54:45 ago on po 6. ledna 2025, 10:30:37.
Dependencies resolved.
=======================================================================================================================================================================================================================================
 Package                                                                   Architecture                         Version                                                  Repository                                               Size
=======================================================================================================================================================================================================================================
Upgrading:
 compiler-rt                                                               x86_64                               19.1.5-1.fc41                                            updates                                                 2.4 M
 cups-ipptool                                                              x86_64                               1:2.4.11-8.fc41                                          updates                                                 3.9 M
 cups-libs                                                                 i686                                 1:2.4.11-8.fc41                                          updates                                                 275 k
 firefox-langpacks                                                         x86_64                               133.0.3-2.fc41                                           updates                                                  48 M
 fwupd-plugin-uefi-capsule-data                                            x86_64                               1.9.27-1.fc41                                            updates                                                 2.0 M
 glibc                                                                     i686                                 2.40-17.fc41                                             updates                                                 1.9 M
...
 xorg-x11-drv-nvidia                                                       x86_64                               3:565.77-3.fc41                                          rpmfusion-nonfree-updates                               133 M
 xorg-x11-drv-nvidia-cuda                                                  x86_64                               3:565.77-3.fc41                                          rpmfusion-nonfree-updates                               2.2 M
 xorg-x11-drv-nvidia-cuda-libs                                             i686                                 3:565.77-3.fc41                                          rpmfusion-nonfree-updates                                41 M
 xorg-x11-drv-nvidia-libs                                                  i686                                 3:565.77-3.fc41                                          rpmfusion-nonfree-updates                                36 M
 xorg-x11-drv-nvidia-libs                                                  x86_64                               3:565.77-3.fc41                                          rpmfusion-nonfree-updates                                67 M
 xorg-x11-drv-nvidia-power                                                 x86_64                               3:565.77-3.fc41                                          rpmfusion-nonfree-updates                               104 k
 xorg-x11-drv-nvidia-xorg-libs                                             x86_64                               3:565.77-3.fc41                                          rpmfusion-nonfree-updates                               2.3 M
Reinstalling:
 ImageMagick-c++                                                           x86_64                               1:7.1.1.41-1.fc41                                        updates                                                 176 k
     replacing  ImageMagick-c++.x86_64 1:7.1.1.39-1.fc41
 ImageMagick-libs                                                          x86_64                               1:7.1.1.41-1.fc41                                        updates                                                 2.6 M
     replacing  ImageMagick-libs.x86_64 1:7.1.1.39-1.fc41
 abrt                                                                      x86_64                               2.17.6-3.fc41                                            updates                                                 519 k
     replacing  abrt.x86_64 2.17.6-2.fc41
...
librsvg2                                                                  x86_64                               2.59.2-1.fc41                                            updates                                                 1.6 M
     replacing  librsvg2.x86_64 2.59.1-1.fc41
 libsane-airscan                                                           x86_64                               0.99.30-1.fc41                                           updates                                                 132 k
     replacing  libsane-airscan.x86_64 0.99.29-2.fc41
 libserf                                                                   x86_64                               1.3.10-7.fc41                                            updates                                                  57 k
     replacing  libserf.x86_64 1.3.10-6.fc41
 libsmbclient                                                              x86_64                               2:4.21.2-1.fc41                                          updates                                                  81 k
     replacing  libsmbclient.x86_64 2:4.21.1-7.fc41
 libsss_certmap                                                            x86_64                               2.10.1-1.fc41                                            updates                                                  84 k
     replacing  libsss_certmap.x86_64 2.10.0-2.fc41
 libsss_idmap                                                              x86_64                               2.10.1-1.fc41                                            updates                                                  34 k
     replacing  libsss_idmap.x86_64 2.10.0-2.fc41
 libsss_nss_idmap                                                          x86_64                               2.10.1-1.fc41                                            updates                                                  39 k
     replacing  libsss_nss_idmap.x86_64 2.10.0-2.fc41
 libsss_sudo                                                               x86_64                               2.10.1-1.fc41                                            updates                                                  29 k
     replacing  libsss_sudo.x86_64 2.10.0-2.fc41
 libvirt-daemon                                                            x86_64                               10.6.0-6.fc41                                            updates                                                 185 k
     replacing  libvirt-daemon.x86_64 10.6.0-5.fc41
 libvirt-daemon-common                                                     x86_64                               10.6.0-6.fc41                                            updates                                                 113 k
     replacing  libvirt-daemon-common.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-interface                                           x86_64                               10.6.0-6.fc41                                            updates                                                 189 k
     replacing  libvirt-daemon-driver-interface.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-network                                             x86_64                               10.6.0-6.fc41                                            updates                                                 235 k
     replacing  libvirt-daemon-driver-network.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-nodedev                                             x86_64                               10.6.0-6.fc41                                            updates                                                 211 k
     replacing  libvirt-daemon-driver-nodedev.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-nwfilter                                            x86_64                               10.6.0-6.fc41                                            updates                                                 223 k
     replacing  libvirt-daemon-driver-nwfilter.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-qemu                                                x86_64                               10.6.0-6.fc41                                            updates                                                 914 k
     replacing  libvirt-daemon-driver-qemu.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-secret                                              x86_64                               10.6.0-6.fc41                                            updates                                                 186 k
     replacing  libvirt-daemon-driver-secret.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-storage-core                                        x86_64                               10.6.0-6.fc41                                            updates                                                 239 k
     replacing  libvirt-daemon-driver-storage-core.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-storage-disk                                        x86_64                               10.6.0-6.fc41                                            updates                                                  21 k
     replacing  libvirt-daemon-driver-storage-disk.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-storage-gluster                                     x86_64                               10.6.0-6.fc41                                            updates                                                  22 k
     replacing  libvirt-daemon-driver-storage-gluster.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-storage-iscsi-direct                                x86_64                               10.6.0-6.fc41                                            updates                                                  20 k
     replacing  libvirt-daemon-driver-storage-iscsi-direct.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-storage-mpath                                       x86_64                               10.6.0-6.fc41                                            updates                                                  16 k
     replacing  libvirt-daemon-driver-storage-mpath.x86_64 10.6.0-5.fc41
 libvirt-daemon-driver-storage-zfs                                         x86_64                               10.6.0-6.fc41                                            updates                                                  18 k
     replacing  libvirt-daemon-driver-storage-zfs.x86_64 10.6.0-5.fc41
 libvirt-daemon-kvm                                                        x86_64                               10.6.0-6.fc41                                            updates                                                  11 k
     replacing  libvirt-daemon-kvm.x86_64 10.6.0-5.fc41
 libvirt-daemon-log                                                        x86_64                               10.6.0-6.fc41                                            updates                                                  50 k
     replacing  libvirt-daemon-log.x86_64 10.6.0-5.fc41
 libvirt-daemon-proxy                                                      x86_64                               10.6.0-6.fc41                                            updates                                                 183 k
     replacing  libvirt-daemon-proxy.x86_64 10.6.0-5.fc41
 libvirt-libs                                                              x86_64                               10.6.0-6.fc41                                            updates                                                 4.9 M
     replacing  libvirt-libs.x86_64 10.6.0-5.fc41
 libvirt-ssh-proxy                                                         x86_64                               10.6.0-6.fc41                                            updates                                                  17 k
     replacing  libvirt-ssh-proxy.x86_64 10.6.0-5.fc41
 libvisio                                                                  x86_64                               0.1.8-1.fc41                                             updates                                                 244 k
     replacing  libvisio.x86_64 0.1.7-24.fc41
 libvpl                                                                    x86_64                               1:2.14.0-1.fc41                                          updates                                                 147 k
     replacing  libvpl.x86_64 1:2.13.0-1.fc41
 libwbclient                                                               x86_64                               2:4.21.2-1.fc41                                          updates                                                  47 k
     replacing  libwbclient.x86_64 2:4.21.1-7.fc41
 libwebp                                                                   x86_64                               1.5.0-1.fc41                                             updates                                                 280 k
     replacing  libwebp.x86_64 1.4.0-4.fc41
 libwinpr                                                                  x86_64                               2:3.10.3-2.fc41                                          updates                                                 378 k
     replacing  libwinpr.x86_64 2:3.9.0-1.fc41
 libxcrypt                                                                 x86_64                               4.4.37-1.fc41                                            updates                                                 116 k
     replacing  libxcrypt.x86_64 4.4.36-10.fc41
 libxml2                                                                   x86_64                               2.12.9-1.fc41                                            updates                                                 657 k
     replacing  libxml2.x86_64 2.12.8-2.fc41
 llvm-libs                                                                 x86_64                               19.1.5-1.fc41                                            updates                                                  30 M
     replacing  llvm-libs.x86_64 19.1.0-1.fc41
 mediawriter                                                               x86_64                               5.2.1-1.fc41                                             updates                                                 1.0 M
     replacing  mediawriter.x86_64 5.2.0-1.fc41
 mingw64-vkd3d                                                             noarch                               1.14-1.fc41                                              updates                                                 763 k
     replacing  mingw64-vkd3d.noarch 1.12-1.fc41
 mozjs128                                                                  x86_64                               128.5.1-2.fc41                                           updates                                                 6.5 M
     replacing  mozjs128.x86_64 128.3.0-1.fc41
 mpg123-libs                                                               x86_64                               1.32.9-1.fc41                                            updates                                                 338 k
     replacing  mpg123-libs.x86_64 1.31.3-5.fc41
 mutter                                                                    x86_64                               47.3-1.fc41                                              updates                                                 2.4 M
     replacing  mutter.x86_64 47.1-3.fc41
 mutter-common                                                             noarch                               47.3-1.fc41                                              updates                                                  22 k
     replacing  mutter-common.noarch 47.1-3.fc41
 nautilus                                                                  x86_64                               47.1-1.fc41                                              updates                                                 2.4 M
     replacing  nautilus.x86_64 47.0-1.fc41
 nautilus-extensions                                                       x86_64                               47.1-1.fc41                                              updates                                                  35 k
     replacing  nautilus-extensions.x86_64 47.0-1.fc41
 nfs-utils                                                                 x86_64                               1:2.8.1-3.rc2.fc41                                       updates                                                 448 k
     replacing  nfs-utils.x86_64 1:2.8.1-1.rc2.fc41
 nspr                                                                      x86_64                               4.36.0-2.fc41                                            updates                                                 127 k
     replacing  nspr.x86_64 4.35.0-30.fc41
 nss                                                                       x86_64                               3.107.0-1.fc41                                           updates                                                 657 k
     replacing  nss.x86_64 3.105.0-1.fc41
 nss-softokn                                                               x86_64                               3.107.0-1.fc41                                           updates                                                 361 k
     replacing  nss-softokn.x86_64 3.105.0-1.fc41
 nss-softokn-freebl                                                        x86_64                               3.107.0-1.fc41                                           updates                                                 311 k
     replacing  nss-softokn-freebl.x86_64 3.105.0-1.fc41
 nss-sysinit                                                               x86_64                               3.107.0-1.fc41                                           updates                                                  18 k
     replacing  nss-sysinit.x86_64 3.105.0-1.fc41
 nss-util                                                                  x86_64                               3.107.0-1.fc41                                           updates                                                  81 k
     replacing  nss-util.x86_64 3.105.0-1.fc41
 obs-studio                                                                x86_64                               31.0.0-1.fc41                                            updates                                                 4.8 M
     replacing  obs-studio.x86_64 31.0.0~beta1-4.fc41
 obs-studio-libs                                                           x86_64                               31.0.0-1.fc41                                            updates                                                 2.0 M
     replacing  obs-studio-libs.x86_64 31.0.0~beta1-4.fc41
 obs-studio-plugin-vlc-video                                               x86_64                               31.0.0-1.fc41                                            updates                                                  59 k
     replacing  obs-studio-plugin-vlc-video.x86_64 31.0.0~beta1-4.fc41
 obs-studio-plugin-x264                                                    x86_64                               31.0.0-1.fc41                                            rpmfusion-free-updates                                   48 k
     replacing  obs-studio-plugin-x264.x86_64 31.0.0~beta1-1.fc41
 openjpeg                                                                  x86_64                               2.5.3-2.fc41                                             updates                                                 185 k
     replacing  openjpeg.x86_64 2.5.2-4.fc41
 openldap                                                                  x86_64                               2.6.8-6.fc41                                             updates                                                 243 k
     replacing  openldap.x86_64 2.6.8-5.fc41
 pam                                                                       x86_64                               1.6.1-7.fc41                                             updates                                                 555 k
     replacing  pam.x86_64 1.6.1-6.fc41
 pam-libs                                                                  x86_64                               1.6.1-7.fc41                                             updates                                                  57 k
     replacing  pam-libs.x86_64 1.6.1-6.fc41
 passt                                                                     x86_64                               0^20241211.g09478d5-1.fc41                               updates                                                 226 k
     replacing  passt.x86_64 0^20241121.g238c69f-1.fc41
 perf                                                                      x86_64                               6.12.7-200.fc41                                          updates                                                 2.4 M
     replacing  perf.x86_64 6.11.8-300.fc41
 perl-Git                                                                  noarch                               2.47.1-1.fc41                                            updates                                                  38 k
     replacing  perl-Git.noarch 2.47.0-1.fc41
 pipewire                                                                  x86_64                               1.2.7-1.fc41                                             updates                                                 130 k
     replacing  pipewire.x86_64 1.2.6-1.fc41
 pipewire-gstreamer                                                        x86_64                               1.2.7-1.fc41                                             updates                                                  69 k
     replacing  pipewire-gstreamer.x86_64 1.2.6-1.fc41
 pipewire-jack-audio-connection-kit-libs                                   x86_64                               1.2.7-1.fc41                                             updates                                                 136 k
     replacing  pipewire-jack-audio-connection-kit-libs.x86_64 1.2.6-1.fc41
 pipewire-libs                                                             x86_64                               1.2.7-1.fc41                                             updates                                                 1.9 M
     replacing  pipewire-libs.x86_64 1.2.6-1.fc41
 pipewire-utils                                                            x86_64                               1.2.7-1.fc41                                             updates                                                 353 k
     replacing  pipewire-utils.x86_64 1.2.6-1.fc41
 pixman                                                                    x86_64                               0.44.2-1.fc41                                            updates                                                 269 k
...
 systemd                                                                   x86_64                               256.10-1.fc41                                            updates                                                 5.4 M
     replacing  systemd.x86_64 256.8-1.fc41
 systemd-container                                                         x86_64                               256.10-1.fc41                                            updates                                                 604 k
     replacing  systemd-container.x86_64 256.8-1.fc41
 systemd-libs                                                              x86_64                               256.10-1.fc41                                            updates                                                 691 k
     replacing  systemd-libs.x86_64 256.8-1.fc41
 systemd-pam                                                               x86_64                               256.10-1.fc41                                            updates                                                 377 k
     replacing  systemd-pam.x86_64 256.8-1.fc41
 systemd-rpm-macros                                                        noarch                               256.10-1.fc41                                            updates                                                  33 k
     replacing  systemd-rpm-macros.noarch 256.8-1.fc41
 systemd-udev                                                              x86_64                               256.10-1.fc41                                            updates                                                 2.3 M
     replacing  systemd-udev.x86_64 256.8-1.fc41
...
 wireplumber                                                               x86_64                               0.5.7-1.fc41                                             updates                                                 105 k
     replacing  wireplumber.x86_64 0.5.5-2.fc41
 wireplumber-libs                                                          x86_64                               0.5.7-1.fc41                                             updates                                                 358 k
     replacing  wireplumber-libs.x86_64 0.5.5-2.fc41
 wlroots                                                                   x86_64                               0.18.2-1.fc41                                            updates                                                 393 k
     replacing  wlroots.x86_64 0.18.1-1.fc41
 xorg-x11-drv-nvidia-cuda-libs                                             x86_64                               3:565.77-3.fc41                                          rpmfusion-nonfree-updates                                44 M
     replacing  xorg-x11-drv-nvidia-cuda-libs.x86_64 3:565.57.01-3.fc41
 xorg-x11-drv-nvidia-kmodsrc                                               x86_64                               3:565.77-3.fc41                                          rpmfusion-nonfree-updates                                57 M
     replacing  xorg-x11-drv-nvidia-kmodsrc.x86_64 3:565.57.01-3.fc41
 xorg-x11-server-Xorg                                                      x86_64                               21.1.15-1.fc41                                           updates                                                 1.4 M
     replacing  xorg-x11-server-Xorg.x86_64 21.1.14-1.fc41
Installing dependencies:
 akmod-nvidia                                                              x86_64                               3:565.77-1.fc41                                          rpmfusion-nonfree-updates                                40 k

Transaction Summary
=======================================================================================================================================================================================================================================
Install   1 Package
Upgrade  38 Packages

Total size: 1.2 G
Total download size: 674 M
Is this ok [y/N]: 

After running that I still get conflict with e.g. pipewire. I have a duplicate installed that is not in the list of detected duplicates:

$ sudo dnf list --installed pipewire
Installed packages
pipewire.i686   1.2.6-1.fc41 <unknown>
pipewire.x86_64 1.2.6-1.fc41 <unknown>
pipewire.x86_64 1.2.7-1.fc41 <unknown>

Running update with either dnf only updates the 686 arch, does not touch the x64:

$ sudo dnf update pipewire\*
Updating and loading repositories:
Repositories loaded.
Package                                                                        Arch              Version                                                                         Repository                                        Size
Upgrading:
 pipewire                                                                      i686              1.2.7-1.fc41                                                                    updates                                      401.0 KiB
   replacing pipewire                                                          i686              1.2.6-1.fc41                                                                    <unknown>                                    399.4 KiB
 pipewire-alsa                                                                 i686              1.2.7-1.fc41                                                                    updates                                      136.4 KiB
   replacing pipewire-alsa                                                     i686              1.2.6-1.fc41                                                                    <unknown>                                    136.4 KiB
 pipewire-libs                                                                 i686              1.2.7-1.fc41                                                                    updates                                        7.1 MiB
   replacing pipewire-libs                                                     i686              1.2.6-1.fc41                                                                    <unknown>                                      7.1 MiB
 pipewire-pulseaudio                                                           x86_64            1.2.7-1.fc41                                                                    updates                                      423.9 KiB
   replacing pipewire-pulseaudio                                               x86_64            1.2.6-1.fc41                                                                    <unknown>                                    423.9 KiB

Transaction Summary:
 Upgrading:          4 packages
 Replacing:          4 package

I guess I’ll manually remove these dupes and hope for the best.

I manually installed the old kernels for compat with old NVIDIA drivers. My point was that list did not include a single package where I had duplicates.

I also used dnf versionlock in the past, now found out dnf4 has its own list, so I cleared it.

I guess I could temporarily switch to nouveau and new kernel for the upgrading and duplicate clearing.

Success! Turns out when distro-sync wants to remove protected packages it’s probably right!

I had so many duplicates even dnf, systemd, etc were duplicated.
So I ran sudo dnf distro-sync --setopt protected_packages=

But that still failed on some damn libxml duplicate README file and 10+ other similar errors, so I had to parse the output of dnf4 remove --duplicates and regexp each pair of lines of “installing new_pkg, replacing old_pkg” into yum -y swap old_pkg new_pkg and run that.
Which was slow because of separate transactions but didn’t fail like all the bigger commands.

After this manual replacing of dupes distro-sync ran successfully to completion, replacing the protected packages too. I could have added --setopt protected_packages= to my regexp’d commands but I didn’t trust them that much.

The last step was running dnf4 remove --duplicates again, this time it also finished without errors and cleaned up the last problems (hopefully).

Then I rebooted, everything works, dnf update is clean. Now I can remove all the btrfs snapshots I’ve made before every step.

Thank you all for your help!

1 Like