web-dev-qa-db-fra.com

le client yum ne voit pas de nouveaux packages bien que le serveur soit mis à jour

Nous avons un serveur yum interne contenant plusieurs repos (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 référentiel stable qui est activé par défaut. Toutes les mises à jour sont mises dans le -latest repo. Lorsque nous patcherons des serveurs, nous utiliserons cela -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. Le -latest les repos 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. Comme ces packages ne sont pas testés, ils se retrouvent dans le int-optional-latest repo qui est généralement désactivé. Si un serveur a besoin d'un package de ce dépôt, nous l'installerons à l'aide de 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 repo étaient corrects et que le nom yum.example.com résolu à la même adresse IP sur les deux serveurs - mais l'un d'eux peut trouver le package et l'autre pas.

16
Jenny D

J'ai commencé à fouiller dans les journaux du serveur Web sur le serveur yum, et je n'ai trouvé aucun accès IP pour le client qui n'a pas pu trouver les fichiers. Je n'ai pas compris cela au début, car j'avais vidé le cache des clients. J'ai donc fait un autre nettoyage du cache, cette fois en utilisant

Sudo yum -v clean expire-cache

Lorsqu'il est exécuté avec -v, il répertorie les dépôts qu'il nettoie - et le int-optional-latest n'était pas dans la liste. Je suppose que cela était dû au fait que le dépôt était désactivé par défaut. J'ai fait un autre effacement du cache, cette fois en utilisant

Sudo yum -v enable-repo=int-optional-latest clean expire-cache

Après cela, j'ai essayé un autre

Sudo yum enable-repo=int-optional-latest install Perl-Excel-Writer-XLSX

qui a parfaitement fonctionné.

14
Jenny D
Sudo yum -v clean expire-cache

n'a pas fonctionné pour moi. Cependant, j'ai pu le faire fonctionner avec

Sudo touch /etc/yum.repos.d/<your_repo_file>

et

yum repolist

montre qu'il est mis à jour. J'espère que cela t'aides.

1
Z_K