Восстановленный пакет kmod не обновляется через `YUM`, а через` rpm`

Я построил пакет со следующей версией:

kmod-dahdi-linux 10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686 

Какой должна быть модернизация установленной в системе:

 kmod-dahdi-linux 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686 

когда я делаю yum localupdate я получаю следующее:

 Resolving Dependencies --> Running transaction check ---> Package kmod-dahdi-linux.i686 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686 will be updated ---> Package kmod-dahdi-linux.i686 10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686 will be an update --> Finished Dependency Resolution 

Но когда он проверяет транзакцию, я получаю конфликты файлов, как будто это не обновление пакета, а установка его бок о бок, как показано здесь:

 file /lib/modules/2.6.32-431.el6.i686/dahdi/dahdi.ko from install of kmod-dahdi-linux-10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686.i686 conflicts with file from package kmod-dahdi-linux-2.9.0.1-72_centos6.2.6.32_431.el6.i686.i686 

Я пробовал усталость для более старых версий, я попытался подняться на Эпоху (как вы видите, моя шахта имеет 10-ю эпоху)

Когда я делаю:

 rpm -Uvh kmod-dahdi-linux-2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686.i686.rpm 

он обновляется должным образом.

Я дважды проверял показания rpmversion как более новые:

 # rpmdev-vercmp 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686 10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686 10:2.9.1.1-75_shmz65.1.11.2.6.32_431.el6.i686 is newer 

Есть идеи?

Дополнительная информация:

Я обновил свой RPM, чтобы иметь тот же самый тег dist, и он все еще терпит неудачу.

 # yum localupdate kmod-dahdi-linux-2.9.1.1-11_centos6.2.6.32_431.el6.i686.i686.rpm Resolving Dependencies --> Running transaction check ---> Package kmod-dahdi-linux.i686 0:2.9.0.1-72_centos6.2.6.32_431.el6.i686 will be updated ---> Package kmod-dahdi-linux.i686 0:2.9.1.1-11_centos6.2.6.32_431.el6.i686 will be an update --> Finished Dependency Resolution Transaction Check Error: file /lib/modules/2.6.32-431.el6.i686/dahdi/dahdi.ko from install of kmod-dahdi-linux-2.9.1.1-11_centos6.2.6.32_431.el6.i686.i686 conflicts with file from package kmod-dahdi-linux-2.9.0.1-72_centos6.2.6.32_431.el6.i686.i686 

У Yum есть эта директива installonlypkg : s, то, что она делает, а не обновляет пакет, он выполняет установку, так что две разные версии одного и того же пакета могут быть установлены одновременно.

Это полезно для пакетов ядра, которые обычно являются настройками по умолчанию, поэтому он может позволить вам вернуться к предыдущему ядру, в случае возникновения ошибок при обновлении. ( из руководства по развертыванию RHEL6 ):

installonlypkgs = список разделенных пробелами. Здесь вы можете предоставить список пакетов, которые можно установить, но никогда не будет обновляться. См. Справочную страницу yum.conf (5) для списка пакетов, которые по умолчанию установлены только для установки.

И по поводу пакетов ядра:

[…] В частности, пакеты ядра всегда должны быть перечислены в installonlypkgs (как они по умолчанию),

В случае с пакетами kmod проверьте комментарии этого bz, почему это связано с использованием пакетов kmod. Это для плавкого предохранителя, но эта же логика применима к вашим rpm:

% rpm -qp -provides kmod-fuse-2.7.4-21.el5.i686.rpm kernel-modules = 2.6.18-128.1.10.el5 fuse-kmod = 2.7.4-21.el5 modalias (char- мейджор-10-229)
kmod-fuse = 2.7.4-21.el5

… и модули ядра находятся в списке installonlypkgs, поэтому yum делает то, что сказано.