1

在为我的服务器进行临时修复时,对于Dirty-COW,我发现了 CentOS 7 中的一个错误。该错误似乎是 kernel-debuginfo 软件包的错误内核版本。这是内核版本:

# uname -r
3.10.0-327.36.2.el7.x86_64

以上似乎与内核开发版本相匹配:

# yum install kernel-devel 
Package kernel-devel-3.10.0-327.36.2.el7.x86_64 already installed and latest version
Nothing to do

但是,这与以下内核版本不匹配:

# rpm -qa |grep kernel-debuginfo
kernel-debuginfo-4.4.22-201.el7.centos.x86_64
kernel-debuginfo-common-x86_64-4.4.22-201.el7.centos.x86_64

尝试安装正确的软件包会导致错误消息表明已安装了正确的软件包:

# yum install kernel-debuginfo-common-x86_64-3.10.0-327.36.2.el7.x86_64 kernel-debuginfo-3.10.0-327.36.2.el7.x86_64
Loaded plugins: auto-update-debuginfo, fastestmirror
Loading mirror speeds from cached hostfile

Package matching kernel-debuginfo-common-x86_64-3.10.0-327.36.2.el7.x86_64 already installed. Checking for update.
Package matching kernel-debuginfo-3.10.0-327.36.2.el7.x86_64 already installed. Checking for update.
Nothing to do

为了解决这个问题,我首先尝试:

yum erase kernel-debuginfo kernel-debuginfo-common

那并没有删除通用包。

# rpm -qa |grep kernel-debuginfo
kernel-debuginfo-common-x86_64-4.4.22-201.el7.centos.x86_64

要删除我使用的那个包:

# rpm -e kernel-debuginfo-common-x86_64-4.4.22-201.el7.centos.x86_64 

在此之后,安装正常工作:

# debuginfo-install kernel-$(uname -r)
Package yum-plugin-auto-update-debug-info-1.1.31-34.el7.noarch already installed and latest version
--> Running transaction check
---> Package kernel-debuginfo.x86_64 0:3.10.0-327.36.2.el7 will be installed
--> Processing Dependency: kernel-debuginfo-common-x86_64 = 3.10.0-327.36.2.el7 for package: kernel-debuginfo-3.10.0-327.36.2.el7.x86_64
--> Running transaction check
---> Package kernel-debuginfo-common-x86_64.x86_64 0:3.10.0-327.36.2.el7 will be installed
--> Finished Dependency Resolution

现在我的问题是:除了这是 CentOS 7 中的错误之外,任何人都可以解释这种行为吗?

4

1 回答 1

0

什么行为?这是相当奇怪的 yum 输出:当您尝试安装已安装的较低版本的软件包时,它会显示“已安装与 XXX 匹配的软件包”。当您删除较新的软件包时,您使用 yum 成功安装了旧版本。

简单的例子:

[root@10 test]# rpm -q atop
atop-1.27-3.1.el6.x86_64
[root@10 test]# yum install atop-1.26-3.el6

...

Package matching atop-1.26-3.el6.x86_64 already installed. Checking for update.
Nothing to do
于 2016-10-25T15:17:26.457 回答