yum: repositório local e pacote modificado

yum: repositório local e pacote modificado

Seguindo conselhos para meus outrosperguntaEu configurei meu repositório RPM local na Red Hat 8máquina, coloquei meus pacotes privados lá e agora posso instalar, atualizar etc.

Porém, há um problema: um pacote que adicionei em meu repositório privado é na verdade uma versão modificada do pacote disponível nos repositórios oficiais do RedHat e tem o mesmo nome. Então yum searchou yum installretiraria o pacote do espelho oficial, não do meu. Tentei resolver isso yum --repo=my_private_repo ..., mas também tentaria extrair todas as dependências demeu_repo_privadoem vez dos oficiais.

Qual poderia ser a maneira certa de resolver isso? Talvez a melhor opção seria renomear o pacote (aquele que modifiquei e adicionei no meu repositório), para que não entre em conflito com o oficial?

Agradeceríamos qualquer conselho!

Responder1

Substituir pacotes de EL baseos ou repositórios appstream é complicado. Problemas de dependência de pesadelo podem acontecer quando você substitui o que a distro esperava por outra coisa. Esta é uma das razões pelas quais a comunidade EL não gosta de certosrepositórios de terceiros.

Encontre um repositório que faça coisas sensatas e examine o que eles fazem com seus pacotes.SIUé um exemplo. Tudo isso precisa ser verdade para ser seguro:

A maioria dos pacotes IUS são pacotes de substituição seguros. Este é um termo que usamos para descrever pacotes com as seguintes propriedades.

  • Substitui a funcionalidade de um pacote de estoque.
  • Usa um nome diferente do pacote de estoque para evitar atualizações não intencionais.
  • Forneça o nome do pacote de estoque para satisfazer as dependências de outros pacotes.
  • Conflito com o pacote de ações.
  • Não deve tornar obsoletos nenhum pacote de estoque.

Por exemplo, em vez de apenas "haproxy", você pode instalar"haproxy22". Que é um nome que apenas o IUS fornece, mas substitui o appstream:

Name:           haproxy22

Provides:       haproxy = %{version}-%{release}
Provides:       haproxy%{?_isa} = %{version}-%{release}
Conflicts:      haproxy < %{version}-%{release}

Observe vocêfazerdeseja rpm Conflito com o pacote de estoque, então dnf não irá considerá-lo.

Este esquema requer um número de lançamento de versão superior ao estoque. Considere aumentar muito o número de lançamento.

Veja tambémDiretrizes de empacotamento do Fedorapara recursos.

informação relacionada