Post fc20 to fc22, have a problem with yum/dnf database ...
Hello friends:
I just finished successfully upgrading from Fedora-20 to Fedora-22. There are, of course, some post-install cleanup things that I now need to perform. For example, removing some remaining fc20 packages, including old kernel packages, etc.
My problem is that there is some inconsistency in the rpm and/or dnf databases that I don't know how to fix in order to get sudo dnf update ..., sudo dnf remove ... and other modification-based dnf commands to successfully complete.
More specifically, the problem is the below complaint from dnf about kmod-wl-4.1.6, yet I'm running kernel-4.2.3. Even if kmod-wl-4.2.3 existed in the updates repository (it doesn't because sudo dnf search kmod-wl shows 4.1.6 as the latest version), I probably wouldn't be able to upgrade to it because the error below is preventing me from doing any kind of modification command before fixing that first. So, for example, if I wanted to install a totally unrelated package via sudo dnf -y install someUnrelatedPackage it won't let me. It's kind of like a catch-22.
kernel-uname-r = 4.1.6-200.fc22.x86_64 is needed by (installed) kmod-wl-4.1.6-200.fc22.x86_64-6.30.223.248-9.fc22.x86_64
So I have to fix this complaint manually first. I already tried the things below with no success.
Any ideas/suggestions on how to fix this? See the following. And thanks in advance! :)
Problem details:
jdoe@lenovo$ uname -r
4.2.3-200.fc22.x86_64
jdoe@lenovo$ sudo rpm --rebuilddb
jdoe@lenovo$ sudo dnf clean all
jdoe@lenovo$ sudo dnf -y update
Last metadata expiration check performed 0:35:32 ago on Sun Oct 18 17:45:49 2015.
Dependencies resolved.
========================================================================================
Package Arch Version Repository Size
========================================================================================
Upgrading:
insync x86_64 1.3.2.36049-fc21 inSync 63 M
Removing:
kernel x86_64 3.19.3-100.fc20 @System 145 M
kernel-modules-extra x86_64 3.19.3-100.fc20 @System 8.4 M
kmod-wl-3.19.3-100.fc20.x86_64 x86_64 6.30.223.248-6.fc20.5 @System 7.2 M
Transaction Summary
========================================================================================
Upgrade 1 Package
Remove 3 Packages
Total size: 63 M
Downloading Packages:
Running transaction check
Error: transaction check vs depsolve:
kernel-uname-r = 4.1.6-200.fc22.x86_64 is needed by (installed) kmod-wl-4.1.6-200.fc22.x86_64-6.30.223.248-9.fc22.x86_64
To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'.
You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue.
The downloaded packages were saved in cache till the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
jdoe@lenovo$ rpm -qa | grep kmod-wl-
kmod-wl-6.30.223.248-9.fc22.x86_64
kmod-wl-3.19.8-100.fc20.x86_64-6.30.223.248-6.fc20.10.x86_64
kmod-wl-4.1.6-200.fc22.x86_64-6.30.223.248-9.fc22.x86_64
akmod-wl-6.30.223.248-9.fc22.x86_64
kmod-wl-3.19.3-100.fc20.x86_64-6.30.223.248-6.fc20.5.x86_64
kmod-wl-3.19.5-100.fc20.x86_64-6.30.223.248-6.fc20.7.x86_64
sudo dnf remove kmod-wl-4.1.6-200.fc22.x86_64
?Thanks @skytux. Sadly no modification-based dnf (or yum and related utility) commands succeed. But I have a solution below.