¿Cómo consigo que yum vea las actualizaciones de un repositorio local sin limpiar el caché?

¿Cómo consigo que yum vea las actualizaciones de un repositorio local sin limpiar el caché?

He configurado un repositorio local de yum que uso para instalar compilaciones de prueba. Para fines de prueba, mis paquetes están versionados por <svn version number>.<date>.<time>(p. ej.12345.20110908.150404

El problema es que, una vez que creo un nuevo RPM, lo copio al directorio del repositorio y lo ejecuto createrepo $REPO_DIR, yum no ve el nuevo RPM como 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

Puedo ver las actualizaciones y obtenerlas si las ejecuto yum clean ally luego vuelvo a buscar los metadatos, pero creo que esto solo significa que necesito hacer algo más desde el repositorio, ya que no tengo que hacer eso para otros repositorios de yum.

¿Cómo necesito configurar mi repositorio local para que solo tenga que ejecutarlo yum updatedesde el cliente sin tener que limpiar mi caché de yum?

Respuesta1

Puede ejecutar "yum clean expire-cache", que es una forma mucho más eficiente de decirle a yum que verifique los repositorios. ... la otra cosa que se puede hacer sería cambiar el valor metadata_expire para el repositorio local. (ver man yum.conf).

Respuesta2

Intente agregar la siguiente línea en /etc/yum.conf en clientes Yum:

metadatos_expire=1m

El siguiente comando le muestra más información:

hombre yum.conf

Para su información. CentOS 5 tiene el parámetro comentado. CentOS 6.2 tiene 90 m por el valor.

Respuesta3

yum clean metadatalimpia solo los nombres almacenados en caché y demás, después de lo cual yum recarga su idea de lo que está disponible.

Respuesta4

--enablerepo=localrpmrepo de yum es la opción que busca. entonces

yum --enablerepo=localrpmrepo clean metadata

reemplace localrpmrepo con el nombre de su repositorio

información relacionada