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 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.
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
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
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
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.
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.