GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo descargar paquetes con dependencias localmente en Ubuntu, Debian, Linux Mint, Pop OS

Hace un tiempo, discutimos cómo instalar software sin conexión en Ubuntu . En esa guía, explicamos cómo puede descargar paquetes en un sistema habilitado para Internet e instalarlos en otro sistema que tenga una conexión a Internet lenta o nula. En este tutorial, veremos cómo descargar paquetes con dependencias localmente en Ubuntu, Debian, Pop OS y otros sistemas basados ​​en DEB.

Usando este método, podemos descargar un .deb paquete junto con todas las dependencias requeridas sin instalarlo realmente. De esta forma podemos descargar paquetes de un sistema e instalarlos posteriormente en el mismo sistema o en cualquier otro sistema que no tenga conexión a Internet. También podemos descargar paquetes para diferentes sistemas de arquitectura. Por ejemplo, es posible descargar los paquetes de 32 bits desde un sistema de 64 bits y viceversa.

Descargar paquetes con dependencias localmente en Ubuntu

Podemos hacer esto en dos métodos. Probé esta guía en las ediciones de escritorio Ubuntu 16.04 y 18.04 LTS. Funcionó bien como se describe a continuación.

Método 1:

Este es el método más simple y directo que otros métodos que se detallan a continuación.

Para descargar un paquete con todas las dependencias, sin instalarlas, simplemente ejecute:

$ sudo apt-get install --download-only <package_name>

Por ejemplo, descarguemos el Vim paquete con todas las dependencias requeridas, sin instalarlas, usando el comando:

$ sudo apt-get install --download-only vim

Salida de muestra:

Reading package lists... Done
Building dependency tree 
Reading state information... Done
Suggested packages:
ctags vim-doc vim-scripts
The following NEW packages will be installed:
vim
0 upgraded, 1 newly installed, 0 to remove and 82 not upgraded.
Need to get 1,152 kB of archives.
After this operation, 2,852 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 vim amd64 2:8.0.1453-1ubuntu1.1 [1,152 kB]
Fetched 1,152 kB in 3s (372 kB/s)
Download complete and in download only mode

Como puede ver en el resultado anterior, hemos descargado el paquete Vim con todas las dependencias, pero en realidad no lo instalamos.

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

Simplemente copie toda la carpeta de caché en cualquier USB o transfiéralos a través de la red a un sistema en el que desee instalar los paquetes.

Para instalar los paquetes descargados, vaya a la carpeta de caché e instálelos como se muestra a continuación.

$ sudo dpkg -i *

¿Ver? ¡Es así de simple!

Sin embargo, este método solo funciona si el sistema que usa para descargar los paquetes no tiene el paquete principal o sus dependencias instalados localmente.

Si intenta descargar un paquete que ya está instalado en el mismo sistema, verá un resultado como el siguiente.

$ sudo apt-get install --download-only vim
Reading package lists... Done
Building dependency tree 
Reading state information... Done
vim is already the newest version (2:8.0.1453-1ubuntu1.3).
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

En tales casos, use "apt-rdepends " para descargar todos los paquetes. Si apt-rdepends aún no está instalado, instálelo usando el comando:

$ sudo apt install apt-rdepends

Y luego descargue el paquete principal (es decir, Vim en nuestro caso) junto con todas las dependencias usando el comando:

$ apt download $(apt-rdepends vim | grep -v "^ ")

Este comando descargará recursivamente todos los paquetes requeridos.

Por si acaso, si te encuentras con un error como el siguiente:

E: Can't select candidate version from package debconf-2.0 as it has no candidate

Pruebe este comando en su lugar:

$ apt-get download $(apt-rdepends vim | grep -v "^ " | sed 's/debconf-2.0/debconf/g')

Este comando descargará Vim con todos los paquetes necesarios y los guardará en el directorio de trabajo actual.

Para instalar todos los paquetes descargados, ejecute:

$ sudo dpkg -i *

Método 2:

Primero, descarga las dependencias del paquete que deseas descargar.

Para mostrar una lista de todas las dependencias de un paquete, por ejemplo Python , ejecuta:

$ sudo apt-cache depends python

Salida de muestra:

python
PreDepends: python-minimal
Depends: python2.7
Depends: libpython-stdlib
Conflicts: <python-central>
Breaks: update-manager-core
Suggests: python-doc
Suggests: python-tk
Replaces: python-dev

Descarguemos el paquete python con sus dependencias a nuestro disco local.

Para hacerlo, primero cree un directorio para guardar los paquetes.

$ mkdir python

Ir al directorio:

$ cd python

Y luego ejecuta:

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

El comando anterior descargará el paquete Python junto con todas las dependencias requeridas y las guardará en el directorio de trabajo actual. Este comando también guardará cualquier error en el errors.txt archivo.

Veamos los archivos descargados usando 'ls ' comando:

$ ls

Salida de muestra:

errors.txt
libpython-stdlib_2.7.11-1_amd64.deb
python2.7_2.7.11-7ubuntu1_amd64.deb
python-doc_2.7.11-1_all.deb
python-minimal_2.7.11-1_amd64.deb
python-tk_2.7.11-2_amd64.deb

Como puede ver en el resultado anterior, se ha descargado el paquete de Python con todas sus dependencias.

Simplemente cópielos en su unidad USB e instale los paquetes de python en cualquier sistema fuera de línea como se muestra a continuación.

Monte la unidad USB, vaya a la ubicación donde montó la unidad y ejecute el siguiente comando para instalar Python.

$ sudo dpkg -i *

Lectura sugerida: 

  • Cómo descargar un paquete RPM con todas las dependencias en CentOS

Descargar paquetes con dependencias localmente para una arquitectura específica

Puede notar que el comando anterior ha descargado los paquetes de 64 bits. Es porque los estoy descargando desde el sistema Ubuntu de 64 bits. ¿Qué sucede si desea descargar paquetes para sistemas arch de 32 bits? ¡También es posible!

Primero, habilite la arquitectura que desea en su sistema Ubuntu usando el comando:

$ sudo dpkg --add-architecture i386

Si no agrega la arquitectura, recibirá el siguiente mensaje de error cuando intente descargar los paquetes.

E: No packages found

Después de habilitar la Arquitectura de su elección, ejecute el siguiente comando para descargar paquetes específicos relacionados con la arquitectura.

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

Como puede ver en el resultado anterior, agregué la arquitectura 'i386 ' con 'apt-cache ' comando.

Salida de muestra:

Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python-minimal i386 2.7.11-1 [28.2 kB]
Fetched 28.2 kB in 1s (25.8 kB/s) 
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python2.7 i386 2.7.11-7ubuntu1 [220 kB]
Fetched 220 kB in 1s (116 kB/s) 
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 libpython-stdlib i386 2.7.11-1 [7,664 B]
Fetched 7,664 B in 0s (13.3 kB/s) 
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python-tk i386 2.7.11-2 [28.0 kB]
Fetched 28.0 kB in 1s (24.8 kB/s)

Revisemos los paquetes descargados.

$ ls

Salida de muestra:

errors.txt
libpython-stdlib_2.7.11-1_i386.deb
python2.7_2.7.11-7ubuntu1_i386.deb
python-minimal_2.7.11-1_i386.deb
python-tk_2.7.11-2_i386.deb

¿Ver? El comando anterior descargó solo los paquetes de 32 bits.

Ya sabes cómo descargar paquetes con dependencias en sistemas Ubuntu. Estos métodos son los mismos para todos los sistemas basados ​​en DEB.

Lectura relacionada:

  • Cómo descargar dependencias recursivas de un paquete en Ubuntu
  • Cómo simular comandos de Linux sin cambiar nada en el sistema

Ubuntu
  1. Cómo instalar Pip en Ubuntu 18.04, Debian 9 y Linux Mint 19

  2. Cómo instalar Firefox 10 en Ubuntu 11.10 / Linux Mint 12

  3. Cómo configurar Android SDK 4.0.3 con NetBeans IDE 7.1 en Linux Mint 12 / Ubuntu 11.10

  4. Cómo instalar PostgreSQL 9.1.3 con pgAdmin3 en Ubuntu 11.10 / Linux Mint 12

  5. Cómo listar todos los paquetes en un repositorio en Ubuntu, Debian o Linux Mint [APT]

Cómo enumerar todos los paquetes actualizables en Ubuntu, Debian y Mint

Cómo instalar NetBeans IDE 12.4 en Ubuntu, Debian y Linux Mint

Descargue los paquetes Deb de Spotify para instalarlos en Ubuntu, Debian y Linux Mint

Cómo instalar NetBeans IDE 12 en Debian, Ubuntu y Linux Mint

Cómo instalar Wine 5.0 en Debian, Ubuntu y Linux Mint

Cómo eliminar paquetes rotos en Ubuntu Linux