sábado, 21 de abril de 2012

Instalar, sin Internet, en Debian

Bueno, habrá que empezar diciendo que esto es un recurso puntual, porque me es difícil concebir un Debian (en general un Linux) sin conexión a internet, por aquello de las actualizaciones, y tal, y tal...

Pero puede darse el caso (como me pasa a mi) de dejar un viejo ordenador en 'tu casa del pueblo', donde vas muchos fines de semana, y en vacaciones, pero no tienes contratado internet, y solo te lleves un 'pincho' (vamos, ese USB de internet móvil) 'para matar el gusanillo'. Y no te haga ninguna gracia gastar el cupo mensual de megas de descargas del pincho en actualizaciones o en instalar alguna aplicación que te apetecería tener alli. Bueno, o en otras situaciones de estar sin internet que se os pudieran ocurrir.

El caso es que, buceando por Google, acabo de encontrar el 'hábil truco' de usar algunas opciones, poco usadas, de Synaptic, para solventar la falta de conexión a internet. Y me muero de ganas de probarlo la próxima vez que vaya 'al pueblo'.

Hay que empezar diciendo que el problema de las aplicaciones (que siempre te las podrías descargar, en un *.deb, en cualquier sitio con internet, simplemente con # aptitude download <aplicación>) es el de los paquetes dependientes, que no sabes cuales son, y te pueden estropear la posterior instalación en tu PC sin internet. Y, si vamos al tema de las actualizaciones de la distro pendientes de instalar, evidentemente, ni las conoces.

En el caso de las aplicaciones (y sus dependencias) es claro que puedes hacerlo desde cualquier ordenador, con Debian, conectado a internet. Pero para las 'actualizaciones de la distro' necesitarás conectarte, puntualmente, a internet, en el ordenador que quieras actualizar (por ejemplo, con el famoso 'pincho').

Vamos al asunto:
1- Abres el Synaptic y le das eso de 'Marcar todas las actualizaciones' (o buscas la aplicación que quieras instalar). 
Te saldrá algo como esto

2- Entonces, das a 'Marcar' y, en vez de dar a 'Aplicar' te vas a Archivo-Generar un script de descarga.
3- Al script le das un nombre y lo guardas donde quieras, Cierras el Synaptic (perderás los cambios marcados) y ya te puedes desconectar de internet: has estado muy poquito tiempo y has conseguido el script.

4- Y este script lo metes en un buen pendrive y te vas con él a otro ordenador que tenga internet (el de un amigo, el de algún ciber...). 
Alli, lo ejecutas (ya sabes, abres la consola en la carpeta donde esté el script y
sh [nombre_script]

Y ya está, se te descargarán, en la carpeta donde tienes el script, todos los paquetes que contenía (son los paquetes *.deb de las actualizaciones, o de la aplicación, y sus dependencias).

NOTA: vale, me voy a un ciber... pero ahí tienen Windows. Tranquilo... no problem... Si abres el script (por ejemplo con el bloc de notas del Windows, es un archivo de texto) verás que tiene esta pinta:
#!/bin/sh
wget -c http://ftp.fr.debian.org/debian/pool/main/g/gcc-4.7/libgomp1_4.7.0-3_amd64.deb
wget -c http://ftp.fr.debian.org/debian/pool/main/g/gcc-4.7/gcc-4.7-base_4.7.0-3_amd64.deb
wget -c http://ftp.fr.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.0-3_amd64.deb
wget -c http://ftp.fr.debian.org/debian/pool/main/g/gcc-4.7/libgfortran3_4.7.0-3_amd64.deb
y no tienes más que ir copiando, línea a línea, sin 'wgwr -c' (o sea, solo lo de http://.... .deb) en el navegador y se te irán descargando. Cuando tengas todos, los mueves a tu pendrive, y ya está.

5- Y solo te queda volver a tu casa, pinchar tu pendrive, abrir una consola como root en la carpeta donde tienes el script y los archivos descargados y escribir
# dpkg -i *.deb

(Bueno, también puedes hacerlo abriendo el Synaptic y yendo a Archivo-Añadir paquetes descargados).

Sencillo y, como digo, para estos casos puntuales, muy práctico.

1 comentario:

  1. como truco puntual es bueno, salvo porque dependes de synaptic (y porque para descargarte una actualizacion desde win te van a dar ganas de pegarte un tiro :P).

    pero te has cargado la gestion de dependencias de apt. aka... como sabes ahora lo que has instalado tu, y lo que es de sistema?? si dpkg lo marca todo como instalado manualmente... o algo asi. :?

    habia por ahi algun workaround para eso mismo... mi metodo es clonar la install en un usb live, arrancardesde ahi otra maquina con conexion, y actualizar, y luego volcar de nuevo... la lentitud del usb lo hace inviable, pero jejeje, despues me consegui algo calificable de conexion a internet. :)
    bromas aparte... habia un programa que se llamaba sushi,huh? que servia para algo parecido. y con soporte directo a win, creo recordar. busca por el foro, porque estaba por ahi.

    PD: un tal iban me ha dicho que tengas cuidado con la barra espaciadora.... ;) (seh, a mi tambien me falla, uiza por eso no he podido evitar decirtelo. :D )

    ResponderEliminar