¿Cómo descargar paquetes DEB con dependencias localmente?

Descargar paquetes deb localmente

El poder instalar aplicaciones en Ubuntu, Linux Mint asi como en sus derivados existen diversos métodos. El más usual y conocido es con ayuda del centro de software de la distribución en el cual podemos encontrar una gran cantidad de aplicaciones listas para poder ser instaladas.

Otro de los métodos usuales que solemos ocupar es con ayuda de la terminal y otro de los más concurridos es mediante la instalación desde un paquete deb.

Generalmente cuando instalamos un paquete deb, no solemos revisar las dependencias de este, pues solamente es el puro paquete y no incluye todos aquellos paquetes o librerías que necesita para su correcto funcionamiento.

Primer método

Usando este método, podemos descargar paquetes de un sistema e instalarlos más adelante en el mismo sistema o en cualquier otro, que no tenga conexión a Internet.

También es posible descargar paquetes para diferentes sistemas de arquitectura. Por ejemplo, puede descargar los paquetes de 32 bits desde un sistema de 64 bits y viceversa.

¿Cómo descargar paquetes deb con dependencias localmente?

Para descargar localmente paquetes con dependencias en Debian, Ubuntu y derivados, puede uno de los métodos siguientes.

Este es el método más simple y directo.

Para ello basta con ejecutar el siguiente comando para descargar un paquete con todas las dependencias sin instalarlas:

sudo apt-get install --download-only nombre-del-paquete

Todos los archivos descargados se guardarán en la carpeta /var/cache/apt/archives.

Ahora simplemente podemos proceder a copiar toda la carpeta de caché en cualquier pendrive para posteriormente hacer uso de esos paquetes descargados.

Para instalar los paquetes descargados, basta con dirigirnos a la copia que realizamos e instalarlo con el siguiente comando:

sudo dpkg -i *

Ahora el problema de utilizar este método, aunque parece sencillo, es que la carpeta de cache no solo almacena el paquete que acabas de descargar con sus dependencias, si no que contiene muchos más paquetes que han sido instalados en el sistema.

Por lo que debes de realizar una limpieza del cache si no quieres cargar con paquetes innecesarios. Aun que para este caso podemos utilizar otro método.

ubuntu_story

Segundo método

Otra forma de poder hacer esto, es primero bajar las dependencias del programa que necesitamos.

Por lo que, para poder conocer la lista de todas las dependencias de un paquete, debemos de ejecutar el siguiente comando

sudo apt-cache depends nombre-del-paquete

La salida será más o menos así:

nombre-del-paquete
PreDepends: …..
Depends: xxx
Depends: xxxx
Conflicts:
Breaks: update-manager-core
Suggests: xxxx
Suggests: xxxx
Replaces: xxx

Ahora, simplemente debemos de descargar el paquete con sus dependencias. Esto lo podemos hacer con el siguiente comando:

for i in $(apt-cache depends python | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/''/''/); do sudo apt-get download $i 2>>errors.txt; done

El comando anterior descargar el paquete junto con todas las dependencias necesarias y guardarlas en el directorio de trabajo actual.

Este comando también guardará cualquier error en el archivo errors.txt el cual podemos visualizar en caso de tener un problema y conocer el origen del conflicto.

¿Cómo descargar paquetes por arquitectura?

Ahora como fue mencionado anteriormente, es posible descargar paquetes de cualquier tipo de arquitectura, pero dado que para los que son usuarios de 64 bits es necesario añadir el soporte para la arquitectura de 32 bits.

Para ello primero, debemos habilitar la arquitectura que deseen en su sistema usando el comando:

sudo dpkg --add-architecture i386*

También podemos descargar paquetes para ARM así como habilitar la arquitectura en nuestro sistema, solo tenemos que habilitar la arquitectura con:

sudo dpkg --add-architecture armhf

De igual forma podemos comprobar que arquitecturas tenemos disponibles en nuestro sistema con:

sudo dpkg --print-foreign-architectures

Después de habilitar la arquitectura de su elección, deben de ejecutar el siguiente comando para descargar paquetes relacionados con la arquitectura específica.

for i in $(apt-cache depends python:i386 | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/''/''/); do sudo apt-get download $i 2>>errors.txt; done

Hecha la descarga de los paquetes junto con sus dependencias, ahora, simplemente basta con copiarlos a su unidad USB e instalar los paquetes en cualquier sistema.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   bux dijo

    Gracias por acercarnos el tutorial, este comando lo vi hace mucho tiempo en algún foro de reddit y me ha salvado la vida en múltiples ocasiones, una vez lo tuve que usar con la ayuda de un live cd para poder instalar en un servidor en modo texto el controlador de la tarjeta de red.

  2.   Omar Bautista González dijo

    ¡Muchas gracias! Me puede servir porque en el contexto donde vivo (el de República Dominicana) no siempre se dispone de fácil conexión al Internet. De modo que este tutorial me podría servir para poder instalar en distintas computadoras a algunos paquetes si la necesidad de disponer de Internet, tan solo transportando estos paquetes en alguna memoria USB o algo por el estilo.

  3.   MaxiM dijo

    Gracias, se me había olvidado implementar en mi ubuntu mate, lo de la arquitectura i386,que es algo indispensable, y practicamente se me presenta el error en bionic ubuntu, creo que ese el problema