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.
Espero que este post les haya resultado útil. ¡No olviden suscribirse al blog para no perderse nuestras próximas publicaciones!