Estou tentando instalar winswitch
no CentOs 6. Requer nxagent
. Mas no centos, o nome do pacote é nx
. Existe uma maneira de dizer ao yum para pular a verificação da nxagent
dependência (eu já instalei nx
)? Especificar --skip-broken
pula a coisa toda.
O
rpm
comando tem a--nodeps
opção que você pode usar. Um desafio é querpm
por si só não está ciente dos repositórios yum. O comando a seguir instalará ou atualizará o pacote, ignorando as dependências, mas procurando automaticamente a URL de download de seus repositórios com osrepoquery
quais está em packageyum-utils
.Depois disso, um regular
yum update
provavelmente será bem-sucedido sem erros de dependência.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 das atualizações em todos os repositórios, não das dependências.Parece que você está tentando instalar um pacote que não foi projetado para o sistema operacional, ou seja, se foi projetado para o CentOS, ele exigiria
nx
corretamente.Outra solução para o problema é criar e instalar um pequeno pacote RPM de shim que não contém arquivos, mas no arquivo de especificações contém as seguintes linhas (entre outras):
Dessa forma, a dependência deve ser satisfeita, mas pode esperar que os arquivos estejam em um local diferente entre o
nxagent
pacote que espera ter instalado e onx
pacote que o CentOS fornece.você também pode usar rpmrebuild para alterar os metadados 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á desvantagem em usar --nodeps, eu acho.
Este exemplo de uma linha faz isso (tigervnc-server é o pacote que está sendo instalado)
Use yumdownloader para baixar automaticamente o pacote para você e, em seguida, use rpm -i e --nodeps para instalar o pacote sem verificações de dependência.