viernes, 14 de enero de 2011

Protegiendo repositorios Yum de updates de otros repositorios

Este artículo es un recordatorio online, pero vamos a escribir un poco, solo para darle trabajo al teclado.

Un par de issues al administrar paquetes de terceros
Al administrar paquetes en un server Linux nos encontramos muchas veces en la necesidad de utilizar repositorios de terceros para incorporar características muy específicas, normalmente fuera de los repositorios oficiales.

Existe toda una discusión de fondo sobre la pertinencia de utilizar repositorios no oficiales y/o de terceros, que ya traté antes en otros posteos y por supuesto, tiene casos de "ok" ("si") como de "no go" (comprensivamente, "no hacer").

Ahora bien, hay problemas de fondo con el uso de repositorios de terceros:

- Paquetes de preferencia
- Actualizaciones con repositorios preferidos

- Paquetes de preferencia: son una característica que existe en muchos manejadores de paquetes de Linux modernos, tanto para .deb, .rpm y otros formatos de paquetes. Esta característica permite preseleccionar cual repositorio es el repositorio por defecto de donde descargar un paquete cuando existe la misma versión en otro repositorio.

Es muy util, aunque no a simple vista, solo si lo combinamos con la siguiente característica:

- Actualizaciones con repositorios preferidos: es simple, se configura el manejador para que al actualizar paquetes no sobre-escriba los paquetes de los repositorios preferidos con ningun paquete de un repositorio no preferido (por más actualizado que esté con respecto al paquete instalado y al disponible en el repositorio preferido).

Esto último se hace en CentOS / yum utilizando el plugin protectbase.

(es aplicable a otras distros que usan Yum desde la versión 2.4 que permite el uso de plugins)

Y un uso típico en una instalación CentOS sería habilitarlo la protección para los repositorios [base] y [update].

El extracto de

"
protectbase

The purpose of the protectbase plugin is to protect certian repositories from updates from other repositories. Repositories that are to be protected will not be updated by newer files from non protected repositories. This plugin is recommended for anyone who routinely enables 3rd party repositories, as these non-CentOS repositories may update certian system files, potentially causing your CentOS installation to become unstable.

To install the protectbase plugin, ensure that the CentOS extras repository is enabled (it is enabled by default) and issue this command:

su -c 'yum install yum-plugin-protectbase'
After the plugin is installed, make sure that it is enabled. Edit the file /etc/yum/pluginconf.d/protectbase.conf and ensure that it contains the following:

[main]
enabled = 1

Next you need to edit all .repo files in /etc/yum.repos.d/ and add either:

protect = 1

or

protect = 0

No hay comentarios: