Nous avons un serveur yum interne contenant plusieurs dépôts (copies du repo RHEL, programmes créés en interne, etc.). Nos systèmes internes sont protégés par pare-feu d'Internet, ils ne peuvent donc utiliser que notre serveur interne.
Afin de tester les correctifs avant de les pousser complètement en production, nous avons un stable
dépôt qui est activé par défaut. Toutes les mises à jour sont mises dans le -latest
référentiel. Lorsque nous patcherons des serveurs, nous utiliserons -latest
-repo pour construire une nouvelle ligne de base et la tester sur quelques serveurs. Une fois testé, nous faisons de cette base la nouvelle stable
. Les -latest
dépôts sont désactivés par défaut.
L'un des référentiels est utilisé pour quelques paquets que nous récupérons à partir de epel, rpmforge et ainsi de suite. Nous avons un script qui synchronise uniquement les packages que nous voulons avec les dépendances dont ils ont besoin. Le dépôt est reconstruit tous les soirs avec createrepo après la synchronisation des packages. Étant donné que ces packages ne sont pas testés, ils se retrouvent dans le int-optional-latest
référentiel qui est généralement désactivé. Si un serveur a besoin d'un package de ce dépôt, nous l'installerons en utilisant enable-repo=int-optional-latest
.
Aujourd'hui, un collègue essayait d'installer perl-Excel-Writer-XLSX sur un serveur. Le serveur n'a pas trouvé le package. J'ai essayé de reconstruire le référentiel à l'aide de createrepo et j'ai salué les fichiers de repodata pour m'assurer que le fichier était là. C'était. J'ai également vérifié que le fichier existait dans le référentiel en utilisant
repoquery -q --repoid=int-optional-latest -l perl-Excel-Writer-XLSX
J'ai également vidé le cache de métadonnées côté client, en utilisant
sudo yum clean expire-cache
Malgré cela, le client a continué à affirmer que le package n'existait pas sur le serveur.
Je ne pense pas que le problème soit du côté serveur, car lorsque j'ai essayé de faire une recherche à partir d'une autre machine, il a trouvé le package. J'ai vérifié que les fichiers de dépôt étaient corrects et que le nom était yum.example.com
résolu avec la même adresse IP sur les deux serveurs - mais l'un d'eux peut trouver le package et l'autre pas.