dnf 抱怨内核开发版本不符合要求:
# dnf install buildsys-build-rpmfusion-kerneldevpkgs-current
Error:
Problem: conflicting requests
- nothing provides kernel-devel-uname-r = 4.18.0-193.el8.x86_64 needed by buildsys-build-rpmfusion-kerneldevpkgs-current-11:30-5.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
但实际上已经安装了正确的版本:
# dnf list installed | grep kernel-devel
kernel-devel.x86_64 4.18.0-193.19.1.el8_2 @BaseOS
kernel-devel.x86_64 4.18.0-193.28.1.el8_2 @BaseOS
答案1
这些不是软件包所需的版本。
你有:
kernel-devel.x86_64 4.18.0-193.19.1.el8_2
kernel-devel.x86_64 4.18.0-193.28.1.el8_2
它要求:
kernel-devel-4.18.0-193.el8.x86_64
或者将其放入相同的格式:
kernel-devel.x86_64 4.18.0-193.el8
你拥有的东西太新了。它需要CentOS 8 的kernel-devel
软件包版本4.18.0-193
,但您拥有的最旧版本是4.18.0-193.19.1
CentOS 8.2 的版本。来自不受支持的存储库(例如 RPMFusion)的包可能会出现此问题,因为依赖项并不总是与受支持的存储库(或可能已添加的其他存储库)中的包匹配。如果这只是运行时需要的文件,那么您可以使用符号链接来绕过它,但在这种情况下,沿着这些路线做一些事情可能会让您陷入依赖地狱,从而破坏系统。有时,由于这个原因,这些存储库中的软件包无法安装。
kernel-devel
您可以做的一件事是从源代码构建它,前提是您可以找到需要已安装的较新版本的版本。