Protegiendo paquetes de un repositorio de ser actualizados por otro

Imagen de Epe

A veces me ha sucedido, específicamente entre el repo de epel y el de rpmforge, me gustan los paquetes de rpmforge, pero a veces cuando mando a instalar o actualizar algo, lo que sucede es que se instala o actualiza con un paquete del epel.

Esto me rejodía bastante, al punto de que si te fijas en el howto de epel sugiero instalarlo con enabled=0

Pero que va, las cagazones me seguían, hasta que encontré un plugin de yum llamado

yum-plugin-protectbase

La idea es que los paquetes del repositorio que protegemos no serán actualizados por repositorios que no protegemos.

Para instalarlo hacemos:

yum install yum-protectbase

por si acaso editamos este archivo
/etc/yum/pluginconf.d/protectbase.conf
y verificamos que diga:

enabled = 1

Ahora sí, a cada repositorio que quiero proteger le pongo protect = 1, por ejemplo, si quiero proteger el repo de rpmforge edito:
/etc/yum.repos.d/rpmforge.repo

y agrego al final de cada repo que esté listado ahi:

protect = 1

Si no quiero proteger el de epel hago esto:
/etc/yum.repos.d/epel*.repo

y a cada repo de estos, le agrego:

protect = 0

Con esto habré protegido los paquetes de dag, quizá un día me decida por epel e invierta el proceso (protega epel y no a rpmforge)

Atención: Todo repo al que no agregue: protect = 0, quedará automáticamente protegido (es el valor por defecto), así que sugiero que se editen todos los archivos .repo de /etc/yum.repos.d y agregue protect = 0 a cada uno de los que no protegeré o sino quedarán como 1