URPMI – Mandriva Linux

Introducción

Dentro de los paquetes específicos para cada distribución (en este caso hablare de las basadas en RPM Redhat-Package-Manager como Mandriva, SuSE, Fedora.), esta el uso de RPM y URPMI (solo Mandriva) para la gestión de paquetes, cada uno tiene su forma particular de uso y sus comandos difieren en ejecución pero al final tienen el mismo objetivo, mantener la base de datos de Gestión de Software organizada.

Como la ejecución de RPM ya esta bastante comentada, hoy hablare de URPMI, una poderosa arma de gestión de paquetes para Mandriva Linux que añade funcionalidades al conocido set de comandos rpm.

Wikipedia dice al respecto:

Es una herramienta de administración de paquetes que se encarga de instalar, eliminar, actualizar y hacer preguntas a los paquetes de software de aplicaciones locales o remotas (vía red). Envuelve al administrador de paquetes RPM (RedHat Package Manager) extendiendo las funcionalidades que otorga. Uno de sus principales fines es de facililar la instalación de programas con herramientas que desprenden los problemas comunes sobre ausencia de dependencias. URPMI Trabaja con las fuentes oficiales de Linux Mandriva o con fuentes externas tales como las que otorga Penguin Liberation Front.

El punto fuerte de URPMI es el excelente manejo de dependencias.

Ventajas de usar URPMI sobre otras alternativas

  • AL igual que los detergentes es un “todo en uno” (instala, busca, borra, actualiza y da información de paquetes con un sencillo comando)
  • Busqueda de paquetes mas amable
  • Manejo de dependencias robusto
  • Permite la adición de Repositorios externos (tantos como se deseen)

URPMI puede ser usado para gestión de paquetes con fuentes locales (CD/DVD, HD) y paquetes remotos.

El concepto de la gestión de paquetes

Las distribuciones basadas en el tipo de paquetes binarios RPM (RedHat Package Manager) crean un indice al momento de instalar el sistema operativo, de modo que se tenga un record (una base de datos) de los paquetes que se han instalado, las fuentes desde las que se instaló (CD/DVD, HD, NET), y los paquetes disponibles en las fuentes que aun no se han instalado.

Todo esto se ve reflejado visualmente en la interfaz del manejador de paquetes y se actualiza cada vez que realizamos un movimiento (instalar, desinstalar, actualizar, etc).

Mandriva Control Center

De esta forma es muy fácil para el usuario saber el estado actual del software presente y para el sistema la administración de los mismos, sin embargo, cuando los problemas de dependencias se hacen presentes, la situación se torna algo diferente.

Un ejemplo funcional

Que sucede si queremos instalar un programa que no se encuentra en el DVD/CD? digamos Anjuta (el IDE de desarrollo en C para Gnome)

Lo mas inmediato seria abrir el gestor de RPMs en una interfaz visual o consultar el paquete con la linea de comando

[beta@labs]$ rpm -q anjuta

pero nada apareceria como resultado; Podriamos entonces:

  1. Descargar las fuentes y compilarlas a mano
  2. Descargar el paquete RPM del sitio de Anjuta (Anjuta se distribuye en formato fuentes, no esta disponible en binario RPM, es solo un ejemplo) y usar el comando
    [beta@labs]$ rpm -i anjuta-2.0.2-i486-1.rpm
  3. Sin embargo tendríamos que luchar con las dependencias que solicita el paquete anjuta-2.0.2-i486.rpm
    Por lo cual terminaremos descargando e instalando manualmente paquete por paquete necesario y requerido.
    Esto no es muy práctico, sobre todo para usuarios que no estan muy habituados a lidiar con la linea de comandos, o con la búsqueda de paquetes específicos ó con los conflictos de “el paquete esta instalado, pero el programa de instalación no lo encuentra”

    Lo que nos lleva a pensar en una solución mas flexible, aquí es donde entra a jugar parte EASY URPMI, es nuestra tercera opción.

  4. Utilizar EASY URPMI para ahorrar tiempo y esfuerzo en esta y otras instalaciones, adicionando respositorios (fuentes de instalación) remotos a nuestra base de datos local de medios de instalación.Esto quiere decir que podemos tener como fuentes de instalación, además de nuestros medios locales como CD/DVD, HD, LAN, medios remotos que contienen mucho mas paquetes y permitiran manejar mas flexiblemente las dependencias de instalación.

Que es EASY URPMI?

EASY URPMI es un índice de paquetes (repositorios) que se utiliza para generar todos los medios de instalación disponibles a partir de varios mirrors FTP o HTTP y proporcionar muchas mas fuentes de instalación y paquetes que las que nos ofrece un DVD/CD inicialmente.

Cabe aclarar:

  • Al utilizar EASY URPMI , estamos descargando índices de paquetes, no paquetes como tal (únicamente hasta que se decide instalar algo es que se descarga de hecho el paquete).
  • Las fuentes de instalación quedaran configuradas para utilizar el mirror mas cercano (a gusto del usuario).
  • Es recomendable no mezclar medios de instalación con las mismas fuentes de paquetes base, es decir, quitar de la lista de fuentes el medio inicial de instalación del sistema operativo (Usualmente el CD/DVD).
  • Al ser un proceso que trabajara On-line (para la adición de los respositorios remotos e instalación de paquetes remotos), se requiere de conexión rápida a internet cada vez que se requiera instalar algo que no este en repositorios locales.

Como se Configura?

Realmente es muy fácil, es un proceso de UNA SOLA VEZ y en el sitio http://easyurpmi.zarb.org/ nos llevan paso a paso por la configuración.

EL proceso se resume en:

1. Eliminar el indice de instalación local con

[beta@labs]$ urpmi.removemedia -a

2. En la primera pantalla

Screen 1

Seleccionar el tipo de distribución, arquitectura y seleccionar “urpmi”
Tener en cuenta checkear la casilla “Mostrar las fuentes especificas”

3. En la segunda pantalla

Screen 2

Seleccionar un repositorio para cada fuente deseada de acuerdo a la mejor ubicación
Escribir un prefijo que identifique los paquetes remotos de los locales (para que el usuario los pueda diferenciar)

4. En la ultima pantalla

Screen 3

Lo que nos indica que debe copiarse en la consola como root, es el comando urpmi.addmedia seguido de toda la linea necesaria para configurar los repositorios remotos en nuestra base de datos local.

El proceso iniciara a descargar los índices y a configurar el gestor, puede tardar un poco, depende de la velocidad de conexión.
Como se observa, no es un proceso complicado, menos aun lo es el uso.

Como se usa?

URPMI es un set de comandos, mediante los cuales realizamos las tareas mas comunes de administración de paquetes, los mas destacados (y vitales para el dia a dia) son:

  • urpmi : sirve para instalar paquetes
  • urpme : sirve para desinstalar paquetes
  • urpmq : sirve para buscar paquetes
  • urpmi.addmedia : sirve para adicionar un repositorio
  • urpmi.removemedia : sirve para remover un repositorio
  • urpmi.update : sirve para actualizar los repositorios

Instalar un paquete con URPMI es muy fácil, basta con escribir:

[beta@labs]$ urpmi [nombre del paquete]

Después de eso, si el paquete (o los paquetes) tienen algún tipo de dependencia, URPMI preguntará si se desea instalar también dichas dependencias, en caso de una respuesta afirmativa, URPMI procederá a instalar recursivamente todas las dependencias.

Por ejemplo, para instalar esound:

[beta@labs]$ urpmi esound
Para resolver las dependencias, se instalarán los paquetes siguientes (0 MB):
esound-0.2.34-0.1gpw.i586
libesound0-0.2.34-0.1gpw.i586
libesound0-devel-0.2.34-0.1gpw.i586
¿Está todo bien? (S/n)

En caso afirmativo, dar un “S”, URPMI instalará libesound y libesound0-devel y después esound.

Para desinstalar un paquete no es necesario más que escribir:

[beta@labs]$ urpme [nombre del paquete]

Si los paquetes que se desean desinstalar son una dependencia de otros paquetes, URPMI preguntará si se desea desinstalar también esos paquetes, y en caso afirmativo desinstalará recursivamente los paquetes.

Por ejemplo, si se intenta desinstalar XMMS:

[beta@labs]$ urpme xmms
Para satisfacer las dependencias, se quitarán los paquetes siguientes (13 MB):
xmms-1.2.9-3mdk.i586
xmms-alsa-1.2.9-3mdk.i586 (debido a que no se satisfizo xmms == 1.2.9-3mdk)
xmms-kjofol-skins-1.2.0-7mdk.i586 (debido a que no se satisfizo xmms >= 1.2.0)
xmms-mesa-1.2.9-3mdk.i586 (debido a que no se satisfizo xmms == 1.2.9-3mdk)
xmms-more-vis-plugins-1.7.0-4mdk.i586 debido a que no se satisfizo xmms >= 1.0.0)

xmms-skins-1.0.0-16mdk.noarch (debido a que falta xmms)

xmms-wma-0.2.1-1.i386 (debido a que no se satisfizo xmms >= 1.0.1)

¿Está todo bien? (s/N)

Una lista completa de los comandos y su uso siempre estará disponible mediante el “man” de urpmi.

TIP de uso:

Si se desea instalar un programa del cual no recordamos bien su nombre podemos utilizar el modificador –fuzzy de urpmq, y nos devolverá todos los paquetes similares en sintaxis.
Ej: Deseamos instalar el mensajero instantaneo Amsn para Mandriva , pero no sabemos el nombre del paquete o solo parte de el, entonces escribimos:

[beta@labs]$ urpmq --fuzzy msn

La salida de este comando nos muestra todos los paquetes disponibles que contienen “msn” dentro de su nombre:

amsn-0.95amsn-0.95

Como elegimos entre todos ellos? Si no lo identificamos con facilidad utilizamos el mismo comando pero con el modificador -i para obtener información especifica del paquete como tamaño, versión, descripción.

[beta@labs]$ urpmq -i amsn-0.95
Name        : amsn
Version     : 0.9.5
Release     : 3
mdkGroup    : Internet
Size        : 903560
Architecture: i686
Summary     : A free open source MSN Messenger clone

Una vez estamos seguros, lo instalamos con

[beta@labs]$ urpmi amsn-0.95

Nótese que en ningún momento tocamos el nombre del Paquete completo amsn-0.95-3mdk.i686.rpm

URPMI resulta ser una alternativa bastante flexible y útil a la hora de realizar tareas tan comunes como instalar o desinstalar programas empaquetados en formato RPM, próximamente, un vistazo a SMART, el que promete ser la nueva generación en manejo de paquetes.

Saludos.

Los Comentarios están Bloqueados.