sábado, 26 de mayo de 2007

Paquetes y sus dependencias, cómo obtenerlos para posteriormente instalarlos en una máquina sin acceso a Internet

Como ya he comentado en mas de alguna ocasión, en mi PC de escritorio no tengo acceso a Internet de Banda Ancha, y pues, a veces necesito instalar algún programa que, o bien lo necesito o solo es para cureosearlo.

Mas de alguno estará en una posición similar a la mía en cuanto al acceso a Internet, y posiblemente te has encontrado en la situación de que te bajas el paquete de un programa X usando el Internet Explorer en una máquina con Microsoft Windows en tu trabajo o en algún ciber, lo llevas a tu casa y procedes a instalarlo... ah! pero de repente el Installer de Mandriva te dice: Faltan las dependencias; para instalar esto, se necesita aquello!... que desilusión. Tomas nota y te vas a buscar el paquete que falta, y cuando lo tratas de instalar, el installer te indica que falta otra dependencia :)... la de nunca acabar y entonces, desistes de probar ese programa :(

Hace aproximadamente un año, pregunté en un foro si sabían de algún programa que descargara paquetes con sus dependencias para Mandriva Linux usando Microsoft Windows, me dijeron que no sabían de tal cosa, pero! que podía intentar hacerlo con un LiveCD creado a base de una imagen de la instalación que tengo en mi PC. Revisé pues, un artículo al que me refirieron, donde explica la forma de como crear la imagen; pero no lo hice, porque lo encontré un tanto difícil y tedioso.

Con la idea en mente, busqué con google la existencia de un LiveCD de Mandriva2006 (que al parecer estaba en su paso inicial), pero el modulo rpmdrake, no existía! y tampoco podía hacerse un urpmi, porque la base de datos urpmi estaba locked. Pues bien, siguiendo con la idea, hoy lo he intentado de nuevo con Mandriva One 2007 Spring... ¿y qué creen? hoy si se pudo!!! y de esto hablaré hoy.

Descargando paquetes y sus dependencias con Mandriva One Spring
Para los que ya tienen experiencia con urpmi, esto no será cosa del otro mundo y con solo mencionarles el CD One, ya sabrán de qué va esto; pero algún novato como yo, creo que le vendrá a bien, puesto que quizá no sabe que con el Mandriva One Spring, podrá bootearlo como LiveCD, acceder a rpmdrake, actualizar el soporte de paquetes y descargar el software que necesite sin instalarlo y luego pasarlo a una memoria USB, para después instalarlo en su PC sin Internet.

Si no tienes el CD Mandriva One, lo puedes descargar de este servidor. Ahora, ya los Mandriveros sabemos que Mandriva One es un LiveCD, con el cual podemos cargar Mandriva Linux en un PC sin efectuar ninguna instalación en el equipo (también es instalable), equipo que deberá tener acceso a Internet para lograr nuestro cometido de descargar paquetes y sus dependencias.

Lo que necesitamos:
-El CD Mandriva One para cargar el Sistema Operativo
-Una PC con acceso a Internet para descargar los paquetes que queremos
-Una Memoria Flash USB para llevarlos al otro equipo sin Internet

Bien, ya teniendo lo necesario; con el CD Mandriva One en el CD-ROM, encenderemos el equipo y dará comienzo la carga del SO. Una vez tengamos en pantalla el escritorio KDE, iniciaremos el Centro de Control Mandriva Linux siguiendo la siguiente ruta en el: Menú KDE>Sistema>Configurar su computadora.


Ahora tendremos en pantalla el CCML, donde haremos clic en Elegir de dónde se descargan los paquetes de software cuando se actualiza el sistema...


...en la primer pregunta que hace, pincha el botón ...


...se abrirá el Administrador de soportes, donde tocará pinchar el botón Agregar...


...te pedirá seleccionar el tipo de soporte de donde se descargarán los paquetes. En nuestro caso, estamos descargando software para instalar, y no actualizando la distribución, así que deberemos pinchar en el botón Fuentes de la distribución...


...te aparecerá una pequeña ventana, donde tocará pinchar en el botón ...


...ahora tendrás en pantalla una ventana donde habrá que seleccionar un mirror para la descarga de paquetes (yo utilizo el primero, no me complico), selecciona el que quieras y pincha en el botón Aceptar...


...dará comienzo a la carga del listado de paquetes existentes en el mirror conjunto que seleccionaste (Main, Contrib y Non-free)...


...y posteriormente se te retornará a la ventana Administrador de soportes mostrándote una lista de soportes de donde se descargarán los paquetes que solicites. Mostrada la lista, haces clic en Aceptar para cerrar el Administrador de soportes.

Bien, ahora ya tenemos de dónde descargar paquetes, nos toca abrir una terminal de shell para descargarnos lo que queremos usando la línea de comandos. Cuando instalamos un paquete usando el comando urpmi, generalmente lo hacemos poniendo urpmi nombre_del_paquete; de esta forma, el paquete se descarga junto con sus dependencias, pero! este se instalará. Como lo que necesitamos no es instalarlo, sino descargarlo y llevárnoslo, lo haremos del siguiente modo:
$ su

...ahora
# urpmi nombre_del_paquete --no-install


...de este modo,estarás descargando paquetes sin instalarlos. Esos paquetes, estarán disponibles en el directorio: /var/cache/urpmi/rpms

Ahora podrás transferirlos a tu Usb Memory Flash, para instalarlos en tu equipo Mandrivero que no tiene acceso a Internet.

Se supone que en la línea de comandos puedes agregar un repositorio haciendo urpmi.addmedia, pero yo lo intenté 5 veces y siempre me da error, así que por ello te muestro mis pasos, efectuándolos con el modo gráfico de Drakconf.

Espero haberte dado una luz, saludos.