Instalar software offline en Debian y derivados

En esta época nos puede resultar difícil imaginarnos una situación en la que no podamos conectar un determinado equipo a Internet. Salvo ante un corte de red o del servicio provisto por nuestro ISP, disfrutamos de conexión constante en cualquier parte. Sin embargo, como sysadmins es importante estar preparados ante eventualidades. ¿Cómo proceder si necesitamos instalar un programa en Debian (y derivados) sin conexión? En este post presentaremos una herramienta para instalar software offline si nos encontramos en esa situación.

Instalar software offline

Para empezar, recordemos que al instalar software mediante un gestor de paquetes tal como aptitude el mismo se encarga de resolver las dependencias necesarias. Esto no sucede si descargamos manualmente un archivo .deb y lo intentamos instalar con dpkg. Por suerte, disponemos de una herramienta llamada apt-offline que puede ayudarnos en este caso. Apt-offline se describe como un gestor de paquetes offline para distribuciones basadas en APT. En resumen, lo que nos permite hacer es crear una firma en un equipo sin conexión. Dicha firma es luego utilizada en otro sistema con conexión para descargar todos los paquetes necesarios de una forma entendible para APT. Finalmente, los trasladaremos a fin de que sean instalados en el equipo sin conexión.

Ejemplo

Sigamos los pasos detallados a continuación para ilustrar el uso más elemental de apt-offline: instalar un paquete.

Paso 1 – Generar una firma en el equipo sin conexión. En este caso llamaremos al archivo apt-offline.sig y lo guardaremos en /tmp. Con la opción --install-packages seguida de uno o más paquetes indicaremos cuál(es) queremos instalar.

apt-offline set /tmp/apt-offline.sig --install-packages birthday

En este punto es necesario trasladar de alguna manera este archivo a otro equipo con conexión.

Paso 2 – En un equipo con conexión, descarguemos los datos a partir de la firma generada en el paso anterior. Los guardaremos en un archivo llamado birthday-y-dependencias.zip:

apt-offline get /tmp/apt-offline.sig --bundle birthday-y-dependencias.zip

Paso 3 – Una vez completado el paso anterior, llevaremos el archivo birthday-y-dependencias.zip al equipo sin conexión. Para comprobar la autenticidad del paquete necesitaremos y luego instalarlo necesitaremos ejecutar los siguientes comandos:

apt-key exportall | gpg --no-default-keyring --import --keyring /etc/apt/trusted.gpg
apt-offline install birthday-y-dependencias.zip

En la Fig. 1 podemos ver el resultado: el paquete birthday ha sido instalado junto con sus dependencias.

Instalar software offline en Debian utilizando apt-offline
Figura 1 – Instalar software offline en Debian utilizando apt-offline

Espero que este post les haya resultado útil. ¡No olviden suscribirse al blog para no perderse nuestras próximas publicaciones!