Probablemente una de las causas por las que el usuario medio ha encontrado Ubuntu como una distribución atractiva frente a otras más clásicas es, además de por una buena selección de aplicaciones sencillas, el sistema Debian de actualización de software: apt-get.

Para los que, como yo, venimos del mundo RedHat y funcionamos con sistemas que han heredado su gestión de paquetes RPM, quizá nos parece algo incontrolable el hecho como apt-get gestiona las descargas, ya que simplemente te instala todas las dependencias que te hagan falta y la última versión de todo. Esto en una instalación de usuario típica es fantástico, porque de una manera sencilla configuras las actualizaciones automáticas y siempre estás al día sin preocuparte de que necesitas y si tienes que quitar este o aquel paquete para poder poner el nuevo. Pero en un sistema de servidor no es tan trivial: cambiar la versión de una determinada libreria o aplicación puede hacer que otra, que depende exactamente de aquella, deje de funcionar sin razón aparente.

En ese sentido, el sistema RPM es mucho más selectivo y te permite un mayor control de lo que tienes instalado, y te permite incluso definir desde donde lo quieres instalar (del DVD original, de internet, de un disco en otro ordenador…). Esta es la gran ventaja, a mi modo de ver, del sistema RPM: no necesitas una conexión a internet en cada PC, y esto en una red local de una empresa puede ser el escenario.

De cualquier modo, y teniendo en cuenta la posibilidad que tiene RPM de usar repositorios definidos en algún sitio, podemos emular el funcionamiento de actualización automática de apt-get.

[Nota: el HOWTO que viene a continuación se deberá ejecutar desde consola y como usuario root] 

Lo primero que deberemos hacer es asegurarnos que nuestra BDD de paquetes esté correcta y no presente incoherencias debido a un mal uso o posibles bugs en las aplicaciones que la manejen. Para esto tenemos el comando:

rpm –rebuilddb

Si todo está bien, no devolverá ninguna salida, pero si hubiera algún error mostrará los mensajes de lo que ha corregido. En ese caso, vuelve a ejecutar las veces que haga falta hasta que no produzca ninguna salida.  En casos extremos en que el mensaje sea que no se puede reparar la BDD, tendremos que reiniciarla:

cd /var/lib/rpm
rm -rf ??db.00*
rpm –rebuilddb

Una  vez que tengamos limpia y coherente nuestra BDD de RPMs, deberemos descargarnos la lista de repositorios de paquetes a los que posteriormente accederemos para actualizarnos. Primero eliminaremos todos los posibles repositorios (seguramente tendremos el DVD de instalación) que podamos tener:

urpmi.removemedia -a

Después, accedemos a la web EasyURPMI para obtener las direcciones de los repositorios adecuados a nuestra instalación y arquitectura. Son tres pasos, en el tercero obtendremos una lista de comandos que deberemos copiar y ejecutar en la consola para añadir los repositorios a nuestra lista (os recomiendo seleccionar la opción de índices comprimidos, así las descargas serán de unos cientos de K’s en lugar de unas decenas de M’s).

Una vez tengamos los repositorios descargados, deberemos proceder a la actualización de nuestro sistema. En adelante, y una vez hecho todo lo anterior, sólo deberemos lanzar este comando periódicamente si queremos mantener nuestro sistema actualizado:

urpmi –auto-select –force –auto

Podemos añadir algunas opciones más, como por ejemplo –no-install (para evitar la instalación, sólo se harán las descargas) o –keep (para mantener las versiones actualmente instaladas siempre que sea posible y no vaya en contra de las dependencias).

Espero que os sea de utilidad.