CentOS 7.2上的脏CoW补丁 - kernel-debuginfo

时间:2016-10-25 13:24:21

标签: linux system-calls centos7 dirtyread

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

# uname -r
3.10.0-327.36.2.el7.x86_64

以上似乎与kernel devel版本匹配:

# 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中的一个错误之外,是否可以解释这种行为?

1 个答案:

答案 0 :(得分: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