Excluir um repo específico da Atualização YUM


13

Estou fazendo uma atualização yum em todo o sistema no RHEL 5.5 e o repositório IUS EPEL está lançando um erro de dependência ausente:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

Existe uma maneira de executar a atualização do YUM em todos os outros repositórios, ignorando o repositório IUS EPEL para ignorar esse problema de dependência?

Esclarecimento

Estou tentando instalar as atualizações apenas da Rede Redhat. Não consigo encontrar o nome do sudo yum --disablerepo=* --enablerepo=rhel updaterepositório, portanto, não consigo fazer algo como a versão do yum que estou usando não suporta vários repositórios listados a seguir --disablerepo.

Atualizar

Minha solução temporária é executar sudo yum --exclude=php53* update. Estou convencido de que existe uma maneira melhor. Essa maneira melhor inclui corrigir o problema real, por isso arquivei um bug no IUS Community Project também.

Atualização # 2

Parece que encontrei o problema com a dependência . Ainda acho que deve haver uma solução viável.

Obrigado!


Atualizei minha resposta para levar em consideração seus esclarecimentos.
— plasmid87

Respostas:


21

Experimente desativar o repo switch:

--disablerepo=REPONAME

ATUALIZAR

Para encontrar todos os repositórios atualmente "conhecidos" (ativados e desativados):

yum repolist all

Em seguida, para descobrir qual repositório está sofrendo o pacote acima, tente:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

Isso mostrará quais de seus repositórios fornecem o pacote acima (você também verá "instalado" na lista, para mostrar os pacotes instalados localmente).

Tente a opção desativar novamente quando conhecer o repositório usando a opção desativar repositório.

yum update --disablerepo=[from above]

Falhando nas etapas acima para destacar o repositório que você deseja omitir, tente dar uma olhada em /etc/yum.repos.d/ , que é o local padrão do RHEL para definições de repositório. Uma vez neste diretório, localize todos os arquivos de base e atualizações do RHEL não padrão e inclua enabled = 0 , por exemplo,

[repo]
enabled=0

Espero que isto ajude.


Isso pode funcionar se eu puder especificar vários repositórios. Eu tentei --disablerepo=epel --disablerepo=iuse --disablerepo=epel,ius.
— 29512 Robin

yum repolist allmostra que apenas os seguintes repositórios estão ativados: epel, ius e rhel-x86_64-server-5. Seu --showduplicatescomando mostra esse pacote como instalado a partir do repositório ius. Então, tentei o seguinte sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 updatee ainda está lançando um erro de dependência no mesmo pacote. Também tentei desabilitar os enabled=0repositórios alterando a configuração em /etc/yum.repos.d/
— Robin

Imagino que quando você instalou o repositório IUS, ele foi configurado para ser ativado por padrão. Tente isso: sudo yum update --disablerepo=iusassumindo que todos os outros repositórios estejam ativados por padrão. Caso contrário, tente sudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64pular este pacote completamente.
— plasmid87

Nenhuma dessas opções funciona. Estou sentindo falta de algo.
— Robin

Só posso imaginar que outra coisa precisa desse pacote atualizado como parte do processo de atualização. Se você executar sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64, mostrará todas as dependências e provedores para esse pacote específico. Na minha experiência com pacotes PHP e RHEL, esse é um problema comum. Não querendo me afastar do problema em questão, mas eu achei o Remi para fornecer os melhores pacotes para PHP, nunca tive um problema de dependência com o PHP depois de passar para seus repositórios.
— Plasmid87

1

a maneira mais fácil de fazer isso é comentando o linux com seu repositório indesejado no /etc/yum.repos.d/


1

Você pode desativar vários repositórios na linha de comando do yum:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

No entanto, se você fizer isso, deverá ativar explicitamente o repositório que deseja:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.