O pacote do kmod reconstruído não está sendo atualizado via 'YUM', mas é feito por 'rpm'

2

Eu construí um pacote com a seguinte versão:

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

Qual deve ser uma atualização daquela instalada no sistema:

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

quando faço um yum localupdate , obtenho o seguinte:

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

Mas quando atinge a verificação de transação, eu recebo conflitos de arquivos, como se ele não estivesse atualizando o pacote, mas instalando-o lado a lado, como visto aqui:

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

Eu tentei obsoletos para versões mais antigas, tentei aumentar o Epoch (como você pode ver, o meu tem uma época de 10 agora)

Quando faço:

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

atualiza corretamente.

Eu verifiquei novamente os shows do rpmversion como mais recentes:

# 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

Alguma idéia?

Informações adicionais:

Reformulei meu RPM para ter a mesma tag dist e ainda falha.

# 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
    
por goozbach 01.07.2014 / 16:02

1 resposta

0

Yum tem essa diretiva installonlypkg : s, o que ela faz é em vez de atualizar um pacote, ele faz uma instalação, para que duas versões diferentes do mesmo pacote possam ser instaladas simultaneamente.

Isto é bom para os pacotes do kernel, que normalmente é a configuração padrão, então ele pode permitir que você volte ao kernel anterior, no caso de haver erros com o upgrade ativado. ( guia de implantação do RHEL6 ):

installonlypkgs=space separated list of packages Here you can provide a space-separated list of packages which yum can install, but will never update. Refer to the yum.conf(5) manual page for the list of packages which are install-only by default.

E sobre o tema dos pacotes do kernel:

[...] In particular, kernel packages should always be listed in installonlypkgs (as they are by default),

Para o caso dos pacotes do kmod, verifique os comentários de este bz para saber por que os pacotes do kmod foram afetados por este. Isso é para fusível, mas a mesma lógica se aplica ao seu 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-major-10-229)
kmod-fuse = 2.7.4-21.el5

...and kernel-modules is in the installonlypkgs list, so yum is doing what it is told.

    
por 01.07.2014 / 23:21