我有一台 Centos 5.3 x86_64 的服务器。我正在尝试使用 yum 在该服务器上安装一些星号模块。所以 yum 要求我将内核升级到“kernel-2.6.18-308.11.1.el5”然后我使用 centos-plus 存储库升级了内核,因为基本存储库上没有所需的内核。现在重新启动后,我再次尝试使用 yum 安装相同的模块,但它再次询问“kernel-2.6.18-308.11.1.el5”。百胜 说:
Missing Dependency: kernel-x86_64 = 2.6.18-308.11.1.el5 is needed by package
我已经使用“uname -r”命令检查了内核,它显示:
# uname -r
2.6.18-308.11.1.el5.centos.plus
然后我看到了不同之处,我安装的内核在其名称中附加了 *.centos.plus。这可能是 yum 无法识别内核的原因。
有没有人有这个问题的解决方案?如何让 yum 看到已安装的内核版本?
答案1
您正在查看正在运行的内核uname
。 Yum 正在查看 RPM 包数据库。很可能您已经执行了某些操作,从而实际安装了内核,但数据库中缺少该内核。如果您不太了解这一切是如何工作的,那么重新安装(正如您所做的那样)是从中恢复的最简单方法。
但是,退一步:要查看 yum 知道的内核,请运行:
yum list kernel
如果您要查找的内核不在已安装软件包的列表中,则存在问题。
答案2
似乎您安装了 32 位内核(uname -r 中缺少标签“x86_64”),并且要求是 64 位内核。
64 位内核的输出示例:
# uname -r
2.6.32-279.el6.x86_64