web-dev-qa-db-fra.com

Comment puis-je obtenir de voir les mises à jour d'un dépôt local sans nettoyer le cache?

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?

18
Matt

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).

24
James Antill

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.

10
2oahu.com

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.

3
vonbrand

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

0
Neil

Juste le même problème, essayez:

miam tout nettoyer

0
jobwat