Como permitir que apenas um pacote seja baixado de um repositório específico usando o Yum?

3

Contexto:

Temos vários repositórios yum personalizados (no CentOS 6) e nossos usuários instalam regularmente vários softwares / arbitrários via yum para testar as coisas.

Temos um pacote que está disponível em vários repositórios. É chamado exatamente a mesma coisa em dois repositórios diferentes, chame-os de Y e Z, mas os pacotes NÃO são idênticos. Ambos os repositórios são usados para outras coisas / instalações, mas o pacote em questão só deve ser instalado a partir do repo Y.

O que eu tentei:

Quando instalo manualmente o pacote em questão, excluo / incluo repos para garantir que estou obtendo a versão correta. Entretanto, usuários comuns a) esquecem de fazer isso, eb) algumas vezes instalam outros pacotes que dependem do pacote em questão, e são instalados a partir do repositório errado como parte do processo de instalação de dependências.

Pergunta:

Existe alguma maneira de configurar os padrões do yum para dizer que "se o pacote X estiver disponível em mais de uma fonte, prefira / insista na fonte Y sobre a fonte Z?"

Meu objetivo não é ter que alterar o processo normal de yum install que nossos usuários têm atualmente; eles ainda devem ser capazes de instalar software arbitrário usando a sintaxe mais simples possível. É apenas que pacotes específicos (instalados manualmente ou como parte da instalação de dependências) só devem ser permitidos em determinados repositórios.

    
por Zac B 15.06.2012 / 17:55

2 respostas

8

Existe o pacote yum-plugin-priorities .
Isso permite que você dê prioridade aos repositórios configurados.
Veja aqui: link

Ou você pode excluir pacotes em /etc/yum.conf .
link :

exclude List of packages to exclude from updates or installs. This should be a space separated list. Shell globs using wildcards (eg. * and ?) are allowed.

Isso pode ser definido globalmente ou por repositório.

    
por 15.06.2012 / 18:05
0

Não, o yum tem exatamente uma maneira de decidir qual versão do pacote X instalar, que é escolher a versão mais recente que pode encontrar (onde "mais recente" tem um significado específico para a comparação de versão do RPM).

Realmente, eu não recomendaria ter diferentes versões conflitantes, todas com o mesmo nome, da maneira que você descreve. No entanto, se você está preso a ele, algumas sugestões:

  • Forneça uma versão específica para a instalação do yum, por exemplo nome-ver, nome-ver-rel (ver man yum )
  • Corrija suas dependências de pacote para usar algo diferente do nome do pacote simples; uma versão específica, ou um "Fornece" virtual, ou um arquivo específico presente apenas na versão requerida, ou qualquer outra coisa que diferencie as várias versões.
por 15.06.2012 / 18:10