diz ao yum para ignorar uma única dependência

31

Estou tentando instalar o winswitch no CentOS 6. Ele requer 'nxagent'. Mas no centos, o nome do pacote é 'nx'. Existe uma maneira de dizer ao yum para pular a verificação da dependência de 'nxagent' (eu já instalei 'nx')? Especificando - skip-quebrado salta a coisa toda

    
por IttayD 19.04.2012 / 10:54

4 respostas

13

Geralmente yum não tem opções para ignorar um único pacote das dependências. A opção --skip-broken ignora todas as dependências não resolvidas.

Você pode tentar yum --exclude=packagename , mas exclui um pacote específico por nome ou glob de atualizações em todos os repositórios, não de dependências.

    
por 19.04.2012 / 11:22
38

O comando rpm tem a opção --nodeps que você pode usar. O comando a seguir instalará ou atualizará o pacote ignorando as dependências, mas procurando automaticamente o URL de download de seus repositórios com repoquery , que está no pacote yum-utils .

rpm -Uvh --nodeps $(repoquery --location winswitch)

Depois disso, um yum update regular provavelmente será bem-sucedido sem erros de dependência.

    
por 10.04.2015 / 17:00
2

Parece que você está tentando instalar um pacote que não foi projetado para o sistema operacional, ou seja, se ele foi projetado para o CentOS, seria necessário nx corretamente.

Outra solução para o problema é criar e instalar um pequeno pacote RPM shim que não contenha arquivos, mas no arquivo de especificações contenha as seguintes linhas (entre outras):

requires: nx
provides: nxagent

Dessa forma, a dependência deve ser satisfeita, no entanto, pode-se esperar que os arquivos estejam em um local que difere entre o pacote nxagent que espera ter instalado e o pacote nx que o CentOS fornece.

    
por 30.07.2016 / 10:38
0

você também pode usar o rpmrebuild para alterar os metadados do rpm para apontar para o novo nome do pacote. este será então o "seu" pacote, mas é mais limpo no que diz respeito às dependências do rpm. Não há nenhuma desvantagem sobre o uso de --nodeps eu acho.

    
por 19.11.2016 / 22:17