J'ai mis en place un référentiel yum local que j'utilise pour installer les versions de test. À des fins de test, mes packages sont versionnés par <svn version number>.<date>.<time>
(par exemple 12345.20110908.150404
Le problème est que, une fois que je crée un nouveau RPM, copiez-le dans le répertoire du référentiel et exécutez createrepo $REPO_DIR
, yum ne voit pas le nouveau RPM comme disponible.
$ cd $REPO_DIR
$ ls -1
repodata
package-12345.20110908.150404-1.x86_64.rpm
package-12345.20110908.174329-1.x86_64.rpm
$ createrepo .
# ...snip...
$ rpm -q package
package-12345.20110908.150404-1.x86_64
$ yum list --showduplicates package
Installed Packages
package.x86_64 12345.20110908.150404-1 @repo
Available Packages
package.x86_64 12345.20110908.150404-1 repo
Je peux voir les mises à jour et les récupérer si j'exécute yum clean all
puis que je récupère les métadonnées, mais je pense que cela signifie simplement que je dois faire quelque chose de plus depuis le dépôt, car je n'ai pas à le faire pour d'autres mises en pension. .
Comment dois-je configurer mon référentiel local de manière à ne devoir exécuter que yum update
à partir du client sans avoir à nettoyer mon cache yum?
Vous pouvez exécuter "yum clean expire-cache", ce qui est un moyen beaucoup plus efficace de demander à yum de vérifier le dépôt. ... l'autre solution consiste à modifier la valeur metadata_expire du référentiel local. (voir man yum.conf).
Essayez d’ajouter la ligne suivante dans /etc/yum.conf sur les clients Yum:
metadata_expire = 1m
La commande suivante vous montre plus d'informations:
man yum.conf
FYI. CentOS 5 a le paramètre commenté. CentOS 6.2 a 90m pour la valeur.
yum clean metadata
nettoie uniquement les noms mis en cache et autres, après quoi yum recharge son idée de ce qui est disponible.
yum's --enablerepo = localrpmrepo est l'option que vous recherchez. alors
yum --enablerepo=localrpmrepo clean metadata
remplace localrpmrepo par votre nom de dépôt
Juste le même problème, essayez:
miam tout nettoyer