2016-10-25 2 views
1

При работе над временным исправлением для моих серверов, для Dirty-COW, я обнаружил, что, похоже, ошибка в CentOS 7. Ошибка, кажется, неправильная версия ядра ядра -debuginfo. Вот версия ядра:Dirty CoW patch на CentOS 7.2 - 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 

Trying для установки правильных упаковок приводит к ошибочному сообщению о том, что правильные пакеты уже установлены:

# 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?

+0

https://www.if-not-true-then-false.com/2012/delete-remove-old-kernels-on-fedora-centos-red-hat -rhel / – Hackerman

ответ

0

Поведение чего? Это довольно странный выход yum: при попытке установить пакет с более низкой версией, которую вы уже установили, в нем говорится: «Установленный пакет XXX уже установлен». Когда вы удаляете новые пакеты, вы успешно установили более старую версию с yum.

Простой пример:

[[email protected] test]# rpm -q atop 
atop-1.27-3.1.el6.x86_64 
[[email protected] 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