Temos um servidor interno yum contendo vários repositórios (cópias do repositório RHEL, programas criados internamente e assim por diante). Nossos sistemas internos são protegidos por firewall da Internet, para que eles possam usar apenas nosso servidor interno.
Para testar os patches antes de enviá-los até a produção, temos um stable
repositório ativado por padrão. Todas as atualizações são colocadas no-latest
repositório. Quando -latest
corrigimos servidores, usamos esse repositório para criar uma nova linha de base e testá-la em alguns servidores. Depois de testado, tornamos essa linha de base a nova stable
. Os -latest
repositórios são desativados por padrão.
Um dos repositórios é usado para alguns pacotes que buscamos no epel, rpmforge e assim por diante. Temos um script que sincroniza apenas os pacotes que queremos com quaisquer dependências que eles precisem. O repo é reconstruído todas as noites com o createrepo após a sincronização dos pacotes. Como esses pacotes não foram testados, eles terminam noint-optional-latest
repositório que geralmente está desativado. Se um servidor precisar de um pacote desse repositório, vamos instalá-lo usando enable-repo=int-optional-latest
.
Hoje, um colega de trabalho estava tentando instalar o perl-Excel-Writer-XLSX em um servidor. O servidor não encontrou o pacote. Tentei reconstruir o repositório usando createrepo e recebi os arquivos repodata para garantir que o arquivo estivesse lá. Isso foi. Também verifiquei que o arquivo existia no repositório usando
repoquery -q --repoid=int-optional-latest -l perl-Excel-Writer-XLSX
Também limpei o cache de metadados no lado do cliente, usando
sudo yum clean expire-cache
Apesar disso, o cliente continuou alegando que o pacote não existia no servidor.
Não acho que o problema esteja no lado do servidor, porque quando tentei fazer uma pesquisa em outra máquina, ele encontrou o pacote. Eu verifiquei que os arquivos repo estavam corretos e que o nome foi yum.example.com
resolvido para o mesmo endereço IP nos dois servidores - mas um deles pode encontrar o pacote e o outro não.