Diga ao yum para instalar a versão exata das minhas dependências de pacotes

1

Gostaria de instalar um pacote chamado pA .

  • O pacote pA-1.0.0-0 depende do pacote pB-1.0.0-0 .
  • Em um repositório yum, é possível encontrar os dois pB-1.0.0-0 e pB-1.1.0-0 .
  • O pacote pA-1.0.0-0 não é compatível com pB-1.1.0-0 , e essa informação não é mencionada no RPM de pA porque pB-1.1.0-0 não existia quando pA foi empacotado.

Este é um problema ao tentar instalar o pA com yum :

$ yum localinstall pA-1.0.0-0.el7.x86_64.rpm
...
Resolving Dependencies
-> Processing Dependency: pB >= 1.0.0 for package: pA-1.0.0-0.el7.x86_64
--> Package pB.x86_64 0:1.1.0-0.el7 will be installed # <-- version 1.1! ho no!

Existe uma opção de linha de comando em yum para solicitar a instalação da versão específica exigida para suas dependências?
Especificamente aqui, para instalar pA-1.0.0-0.el7.x86_64 em vez de pA-1.1.0-0.el7.x86_64 .

Nota: não posso lidar com as dependências do pA manualmente: no meu cenário real, há inúmeras dependências que eu não instalaria separadamente com rpm .

    
por YSC 11.06.2018 / 12:58

1 resposta

3

Não há como fazer diretamente o que você está pedindo, mas você pode instalar uma versão específica da dependência antes de instalar o seu pacote principal:

yum install pB-1.0.0-0
yum install pA

Para evitar que pB seja atualizado ao atualizar o restante do sistema, você pode usar o plug-in versionlock para yum :

yum install yum-plugin-versionlock
yum versionlock pB-*

Isso bloqueará a versão de pB no que foi instalado quando a trava foi colocada no lugar. Veja Como restringir o yum para instalar ou atualizar um pacote para uma versão específica do pacote?

Editar: Se você não quiser / não puder lidar com a instalação manual das dependências em suas versões necessárias, poderá adicionar a lista de deps e suas versões a /etc/yum/pluginconf.d/versionlock.list para garantir que versões específicas sejam instaladas quando você instale pA .

    
por 11.06.2018 / 14:11