Грязный патч CoW на CentOS 7.2 - kernel-debuginfo

Работая над временным исправлением для моих серверов, для Dirty-COW, я обнаружил, что кажется ошибкой в ​​CentOS 7. Ошибка, похоже, неверная версия ядра пакета kernel-debuginfo. Вот версия ядра:

# uname -r
3.10.0-327.36.2.el7.x86_64

Сказанное выше похоже на версию ядра 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 ответ

Поведение чего? Это довольно странный вывод 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
Другие вопросы по тегам