El teleco dicharachero

domingo, diciembre 05, 2004

Unas ideas sobre urpmi

En la red hay muchisima información detallada sobre urpmi como por ejemplo aquí o aquí
urpmi nos permite instalar programas desde la línea de comandos, resuelve dependencias, en caso de tener varias alternativas nos las enumera y nos permite elegir la que consideremos más adecuada. Se le pueden pasar un buen número de parametros, como por ejemplo :
  • --media que permite definir el soporte desde el cual realizar la instalación.
  • --auto-select para seleccionar automáticamente los paquetes para actualizar el sistema.
  • --test para comprobar si se puede realizar la instalación.
  • --wget o --curl para bajar los paquetes con wget o curl. A mi --wget me ha dado mejores resultados que curl.
  • --limit-rate para limitar la velocidad de descarga en bytes/seg.
Con urpmi, urpme, urpmf se puede instalar, desinstalar y hasta encontrar los paquetes que contienen un fichero determinado.

Después de estos breves apuntes sobre urpmi voy a explicar el proceso que sigo al instalar Mandrake para configurar las fuentes de paquetes y el script con el que actualizo el sistema.
En primer lugar vamos a http://easyurpmi.zarb.org/ desde ahí seleccionamos la versión de Mandrake que queremos configurar, por ejemplo si hemos instalado la 10.0 community y deseamos actualizar a 10.1 official, seleccionamos esta última versión. En mi caso es cooker, la rama en desarrollo. Yo no he tenido problemas al pasar de 9.2 a cooker directamente, pero en algún caso puede ser recomendable actualizar a una versión oficial.
Es posible descargar la información de paquetes completa o la versión comprimida (synthesis) sin información adicional.
Antes de configurar los repositorios habría limpiar las fuentes antiguas urpmi.removemedia -a.
Una vez seleccionadas las opciones al final de la página aparecen los comandos que habría que ejecutar como root para configurar los repositorios. Un ejemplo sería

urpmi.addmedia main host with hdlist.cz

Tardará un rato en descargar las listas de paquetes, ya que hemos optado por el fichero con la información completa.

Para actualizar el sistema utilizó el siguiente script:

#!/bin/bash
echo "Inicio del script de actualizacion"
echo "Actualizamos las fuentes de paquetes"
urpmi.update main plf contrib --wget
echo "Hacemos un test para ver que la seleccion es
echo "correcta. Si es así instalamos los paquetes"

# Ahora actualizamos los diferentes repositorioas.

echo "Actualizacion de main"
urpmi --test --auto-select --media main
urpmi --auto-select --media main

echo "Actualizacion de contrib"
urpmi --test --auto-select --media contrib
urpmi --auto-select --media contrib

echo "Actualizacion de plf"
urpmi --test --auto-select --media plf
urpmi --auto-select --media plf

echo "Actualización completada"

En mi caso excluyo de la actualización el paquete kernel-source añadiendo
--skip kernel-source
En el portatil tengo una tarjeta wifi integrada 2200BG y tengo que compilar el driver ipw2200 con las fuentes del kernel, por eso no me interesa que este paquete se actualice. Voy uno a uno por los diferentes medios configurados.
Se puede automatizar para que no pregunte si es correcta la selección de paquetes, a mi me gusta controlar el proceso así que dejo que baje los paquetes y vea si la instalación es posible y me pregunte para confirmar si todo es correcto.