Actualizando el Linux con una mala conexión

Ayer me puse a instalar la nueva versión de Linux Mint 12 KDE. Sufrida instalación dado que necesito descargar más de 350 MB en paquetes

En una conexión decente la cosa resulta más fácil, pero en una inalambrica la cosa se complica, con velocidades de descarga cercanas a los 30 KB/S en bajada y con viento a favor :).

Por eso busqué una solución para poder descargar los paquetes en otro lugar con una mejor conexión a Internet.

La solución requiere:

  • No tener que trasladar el equipo. A veces es una notebook y es posible, pero otras no.
  • Poder aprovechar cualquier equipo conectado a Internet, tenga este Linux o Windows como sistema operativo.
  • No tener que andar instalando paquetes, otros programas o interpretes de lenguajes.

Si usamos la computadora del trabajo, lo más probable es que tenga instalado Windows, que no poseamos muchos permisos para instalar software y en caso de tenerlo que tengamos que reducir el impacto de la instalación lo más posible.

Los pasos consisten en crear una lista de los archivos a descargar con su correspondiente URL, descargarlos en el equipo con buena conexión, copiarlos en un pendrive o cd, llevarlos al equipo a actualizar, copiarlos a la cache del gestor de paquetes y realizar la actualización tomando los archivos de la cache.

Para generar la lista de los archivos primero deberemos realizar la actualización de la lista de paquetes disponibles. Suponemos que para esto contamos con una conexión lo suficientemente buena como para que el proceso nos tome unos pocos minutos, sino el proceso nos insumirá dos viajes antes de poder actualizar el sistema.

$ sudo apt-get update

Luego de actualizada la lista de paquetes disponibles, realizamos un upgrade del sistema, pero indicándole a apt que nos devuelva la lista de los paquetes a descargar en un archivo.

$ sudo apt-get -qq --print-uris upgrade >> /lista_apt

La lista generada contiene algunos datos que sobran, entonces utilizamos awk para dar el formato correcto a la lista y que solo queden las URL.

$ awk '{gsub("\x27", "", $0); print $1}' < /tmp/apt_list > lista_apt

Una vez en el equipo con buena conexión podremos usar wget (el enlace es a la version para Windows) o algún otro programa para descargar los paquetes indicados en la lista.

X:\>wget -i lista_apt

Misma linea de comando para Linux. (previo # apt-get install wget)
En la página desde la que tomé la idea también recomiendan aria2 http://aria2.sourceforge.net/ que al parecer permite varias descargas simultaneas

Copiamos los .deb a un pendrive o cd y los llevamos al equipo a actualizar.

En el equipo a actualizar copiamos los archivos descargados al directorio /var/cache/apt/archives/
$ sudo cp *.deb /var/cache/apt/archives/

Realizamos la actualización del sistema. APT tomará los paquetes de la cache en vez de descargarlos acelerando así el proceso de actualización.
$ sudo apt-get upgrade

De la misma forma que obtenemos la lista para actualizar, podemos obtener una para instalar un paquete en particular.

apt-get -qq --print-uris install apache > lista_apache

FUENTE:
http://www.fell.it/2009/03/26/use-apt-offline/

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s