Fc41 dnf update doesnot work

Afer I changed from installonly_limit=15 to 5 in /etc/dnf/dnf.conf,
dnf update does not work as follows;

root@h170:/home/zenkato# dnf update
リポジトリの更新を読み込み中:
リポジトリを読み込みました。
Failed to resolve the transaction:
Problem 1: installed package kernel-modules-extra-6.14.9-200.fc41.x86_64 requires kernel-uname-r = 6.14.9-200.fc41.x86_64, but none of the providers can be installed
  - conflicting requests
 Problem 2: installed package kernel-modules-6.14.9-200.fc41.x86_64 requires kernel-modules-core-uname-r = 6.14.9-200.fc41.x86_64, but none of the providers can be installed
  - conflicting requests

But, I can use GUI: dnfdragora, instead. I would like to use CLI:
dnf command as usual, how should I fix this problem?
/etc/dnf/dnf.conf is as follows;

root@h170:/home/zenkato# cat /etc/dnf/dnf.conf
# see `man dnf.conf` for defaults and possible options

[main]
gpgcheck=True
installonly_limit=5
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True

and my installed kernels are;

root@h170:/home/zenkato# dnf list --installed kernel
インストール済みパッケージ
kernel.x86_64 6.12.5-100.fc40  updates
kernel.x86_64 6.13.9-100.fc40  updates
kernel.x86_64 6.13.10-100.fc40 updates
kernel.x86_64 6.13.11-100.fc40 updates
kernel.x86_64 6.13.12-100.fc40 updates
kernel.x86_64 6.14.4-100.fc40  updates
kernel.x86_64 6.14.5-100.fc40  updates
kernel.x86_64 6.14.9-200.fc41  updates
kernel.x86_64 6.14.11-200.fc41 updates
kernel.x86_64 6.15.5-100.fc41  updates
kernel.x86_64 6.15.8-100.fc41  updates
kernel.x86_64 6.15.9-101.fc41  updates

I would suggest to remove the oldest kernels like this

dnf remove kernel-core-6.12.5-100.fc40
dnf remove kernel-core-6.13.9-100.fc40
dnf remove kernel-core-6.13.10-100.fc40
dnf remove kernel-core-6.13.11-100.fc40
dnf remove kernel-core-6.13.12-100.fc40
dnf remove kernel-core-6.14.4-100.fc40
dnf remove kernel-core-6.14.5-100.fc40
dnf remove kernel-core-6.14.9-200.fc41
dnf remove kernel-core-6.14.11-200.fc41

@ vekruse; thanks for your suggestion, my installed kernel-core-s are;

root@h170:/home/zenkato# dnf list --installed kernel-core
インストール済みパッケージ
kernel-core.x86_64 6.12.5-100.fc40  updates
kernel-core.x86_64 6.12.8-100.fc40  <unknown>
kernel-core.x86_64 6.13.9-100.fc40  updates
kernel-core.x86_64 6.13.10-100.fc40 updates
kernel-core.x86_64 6.13.11-100.fc40 updates
kernel-core.x86_64 6.13.12-100.fc40 updates
kernel-core.x86_64 6.14.4-100.fc40  updates
kernel-core.x86_64 6.14.5-100.fc40  updates
kernel-core.x86_64 6.14.9-200.fc41  updates
kernel-core.x86_64 6.14.11-200.fc41 updates
kernel-core.x86_64 6.15.5-100.fc41  updates
kernel-core.x86_64 6.15.6-100.fc41  updates
kernel-core.x86_64 6.15.8-100.fc41  updates
kernel-core.x86_64 6.15.9-101.fc41  updates

and I could not remove 'kernel-core-xxxx’s as follows;

root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.12.5-100.fc40
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.12.5-100.fc40
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.13.9-100.fc40
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.13.9-100.fc40
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.13.10-100.fc40
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.13.10-100.fc40
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.13.11-100.fc40
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.13.11-100.fc40
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.13.12-100.fc40
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.13.12-100.fc40
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.14.4-100.fc40
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.14.4-100.fc40
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.14.5-100.fc40
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.14.5-100.fc40
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.14.9-200.fc41
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.14.9-200.fc41
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64
root@h170:/home/zenkato# dnf remove kernel-core.x86_64 6.14.11-200.fc41
Failed to resolve the transaction:
引数に該当して削除するパッケージはありません: 6.14.11-200.fc41
Problem: The operation would result in removing of running kernel: kernel-core-0:6.15.9-101.fc41.x86_64

Notice your command would remove all the installed kernel-core.x86_64 versions instead if you run dnf remove kernel-core-6.12.5-100.fc40 that would only remove version 6.12.5.

Instead of running dnf list --installed kernel-core run the command rpm -q kernel-core and that would get the list of packages names that you can copy and paster into the remove command.

root@h170:/home/zenkato# rpm -q kernel-core
kernel-core-6.12.5-100.fc40.x86_64
kernel-core-6.12.8-100.fc40.x86_64
kernel-core-6.13.9-100.fc40.x86_64
kernel-core-6.13.10-100.fc40.x86_64
kernel-core-6.13.11-100.fc40.x86_64
kernel-core-6.13.12-100.fc40.x86_64
kernel-core-6.14.4-100.fc40.x86_64
kernel-core-6.14.5-100.fc40.x86_64
kernel-core-6.14.9-200.fc41.x86_64
kernel-core-6.14.11-200.fc41.x86_64
kernel-core-6.15.5-100.fc41.x86_64
kernel-core-6.15.6-100.fc41.x86_64
kernel-core-6.15.8-100.fc41.x86_64
kernel-core-6.15.9-101.fc41.x86_64

I tried to remove version 6.12.5, but could not remove it.

root@h170:/home/zenkato# dnf remove kernel-core-6.12.5-100.fc40
Failed to resolve the transaction:
Problem 1: installed package kernel-modules-extra-6.14.9-200.fc41.x86_64 requires kernel-uname-r = 6.14.9-200.fc41.x86_64, but none of the providers can be installed
  - conflicting requests
 Problem 2: installed package kernel-modules-6.14.9-200.fc41.x86_64 requires kernel-modules-core-uname-r = 6.14.9-200.fc41.x86_64, but none of the providers can be installed
  - conflicting requests

The message doesn’t make sense, unless there are additional message lines.

Does dnf check provide any messages?

What I use to fully remove a kernel is this
dnf remove kernel*6.12.5* and it would remove every kernel package for that version.
Replace the 6.12.5 with the next version number to be removed and repeat until all the desired versions have been removed.

You may need to add the --noautoremove option to that command so it avoids trying to remove other weak dependencies

@vekruse; ‘dnf check’ provides nothing.

@Jeff V; I can not remove kernel also this way.

root@h170:/home/zenkato# dnf remove kernel*6.12.5* --noautoremove
Failed to resolve the transaction:
Problem 1: installed package kernel-modules-extra-6.14.9-200.fc41.x86_64 requires kernel-uname-r = 6.14.9-200.fc41.x86_64, but none of the providers can be installed
  - conflicting requests
 Problem 2: installed package kernel-modules-6.14.9-200.fc41.x86_64 requires kernel-modules-core-uname-r = 6.14.9-200.fc41.x86_64, but none of the providers can be installed
  - conflicting requests

You should only have the 6.15.X kernels installed if your system is up to date.
That error appears to be because the older kernels are not available in either the fedora or the updates repos.
Try removing a group of kernels at the same time.
sudo dnf remove kernel*6.12.* kernel*6.13.* kernel*6.14.* --noautoremove which would leave only the installed 6.15* kernels and possibly eliminate the errors.

It appears that the packages kernel-uname-r and kernel-modules-core-uname-r are not part of the fedora repos so I am not sure where the dependency came from with kernel 6.14.9. It is not there at present for the 6.15.9 kernels AND is not there in the f41 updates-archive repo for 6.14.9

These are names that are provided by some package. It can be checked
dnf rq --whatprovides kernel-uname-r

kernel-core-0:6.14.0-63.fc42.x86_64
kernel-core-0:6.15.9-201.fc42.x86_64
kernel-debug-core-0:6.14.0-63.fc42.x86_64
kernel-debug-core-0:6.15.9-201.fc42.x86_64
kernel-debug-uki-virt-0:6.14.0-63.fc42.x86_64
kernel-debug-uki-virt-0:6.15.9-201.fc42.x86_64
kernel-uki-virt-0:6.14.0-63.fc42.x86_64
kernel-uki-virt-0:6.15.9-201.fc42.x86_64

`dnf rq --whatprovides kernel-modules-core-uname-r

kernel-modules-core-0:6.14.0-63.fc42.x86_64
kernel-modules-core-0:6.15.9-201.fc42.x86_64

Of course, only the release version from fedoraand the latest update version from updates are available from the repositories. (unless you enable the archive repository).

What I don’t understand is why removing the kernel version 6.12.5 would complain bout missing kernel components from version 6.14.9-200.fc41.x86_64, let alone wanting to install it.

I have no clue. It seems every kernel-core package provides that, yet it is not separately available in the repos. Is the -uname-r version a sub-package that is not installed by dnf, but is actually a part of the kernel-core package?

If that is the case then it should not ever depend upon, nor be a dependency of, any other kernel.

sudo dnf remove kernel*6.12.* kernel*6.13.* kernel*6.14.* --noautoremove
removed the following kernels:

Package                  Arch    Version                  Repository        Size
Removing:
 kernel                  x86_64  6.12.5-100.fc40          updates        0.0   B
 kernel                  x86_64  6.13.9-100.fc40          updates        0.0   B
 kernel                  x86_64  6.13.10-100.fc40         updates        0.0   B
 kernel                  x86_64  6.13.11-100.fc40         updates        0.0   B
 kernel                  x86_64  6.13.12-100.fc40         updates        0.0   B
 kernel                  x86_64  6.14.4-100.fc40          updates        0.0   B
 kernel                  x86_64  6.14.5-100.fc40          updates        0.0   B
 kernel                  x86_64  6.14.9-200.fc41          updates        0.0   B
 kernel                  x86_64  6.14.11-200.fc41         updates        0.0   B
 kernel-core             x86_64  6.12.5-100.fc40          updates       73.6 MiB
 kernel-core             x86_64  6.12.8-100.fc40          <unknown>     73.6 MiB
 kernel-core             x86_64  6.13.9-100.fc40          updates       75.3 MiB
 kernel-core             x86_64  6.13.10-100.fc40         updates       75.3 MiB
 kernel-core             x86_64  6.13.11-100.fc40         updates       75.3 MiB
 kernel-core             x86_64  6.13.12-100.fc40         updates       75.3 MiB
 kernel-core             x86_64  6.14.4-100.fc40          updates       75.6 MiB
 kernel-core             x86_64  6.14.5-100.fc40          updates       75.8 MiB
 kernel-core             x86_64  6.14.9-200.fc41          updates       75.8 MiB
 kernel-core             x86_64  6.14.11-200.fc41         updates       75.8 MiB
 kernel-modules          x86_64  6.12.5-100.fc40          updates       62.5 MiB
 kernel-modules          x86_64  6.12.8-100.fc40          <unknown>     62.5 MiB
 kernel-modules          x86_64  6.13.9-100.fc40          updates       64.2 MiB
 kernel-modules          x86_64  6.13.10-100.fc40         updates       64.2 MiB
 kernel-modules          x86_64  6.13.11-100.fc40         updates       64.3 MiB
 kernel-modules          x86_64  6.13.12-100.fc40         updates       64.2 MiB
 kernel-modules          x86_64  6.14.4-100.fc40          updates       64.6 MiB
 kernel-modules          x86_64  6.14.5-100.fc40          updates       64.6 MiB
 kernel-modules          x86_64  6.14.9-200.fc41          updates       64.7 MiB
 kernel-modules          x86_64  6.14.11-200.fc41         updates       64.7 MiB
 kernel-modules-core     x86_64  6.12.5-100.fc40          updates       37.1 MiB
 kernel-modules-core     x86_64  6.12.8-100.fc40          <unknown>     37.1 MiB
 kernel-modules-core     x86_64  6.13.9-100.fc40          updates       37.8 MiB
 kernel-modules-core     x86_64  6.13.10-100.fc40         updates       37.8 MiB
 kernel-modules-core     x86_64  6.13.11-100.fc40         updates       37.8 MiB
 kernel-modules-core     x86_64  6.13.12-100.fc40         updates       37.8 MiB
 kernel-modules-core     x86_64  6.14.4-100.fc40          updates       38.6 MiB
 kernel-modules-core     x86_64  6.14.5-100.fc40          updates       38.6 MiB
 kernel-modules-core     x86_64  6.14.9-200.fc41          updates       38.7 MiB
 kernel-modules-core     x86_64  6.14.11-200.fc41         updates       38.7 MiB
 kernel-modules-extra    x86_64  6.12.5-100.fc40          updates        2.7 MiB
 kernel-modules-extra    x86_64  6.13.9-100.fc40          updates        2.7 MiB
 kernel-modules-extra    x86_64  6.13.10-100.fc40         updates        2.7 MiB
 kernel-modules-extra    x86_64  6.13.11-100.fc40         updates        2.7 MiB
 kernel-modules-extra    x86_64  6.13.12-100.fc40         updates        2.7 MiB
 kernel-modules-extra    x86_64  6.14.4-100.fc40          updates        2.6 MiB
 kernel-modules-extra    x86_64  6.14.5-100.fc40          updates        2.6 MiB
 kernel-modules-extra    x86_64  6.14.9-200.fc41          updates        2.6 MiB
 kernel-modules-extra    x86_64  6.14.11-200.fc41         updates        2.6 MiB

Thank you for the solution of strange dnf behavior. Now I can
do ‘dnf update’ as usual.

If something provides kernel-uname-r it can be satisfied by installing one of the packages that provides that name. The providers are

kernel-core
kernel-debug-core
kernel-debug-uki-virt
kernel-uki-virt

In dnf, most dependencies are not directly to the package name, but for some provide name. For example when something needs glibc it will depend on libc.so.6()(64bit) which is provided by the glibc package. These provides and requires are generated automatically when building an rpm package. Try for example rpm -q --requires bash and rpm -q --provides glibc.

1 Like