Ya sabíamos cómo descargar un paquete junto con todas sus dependencias en Ubuntu y sus derivados. Hoy veremos cómo descargar dependencias recursivas de un paquete en Ubuntu. En otras palabras, vamos a descargar las dependencias de las dependencias.
Digamos que está intentando instalar un paquete llamado a.deb . El paquete a.deb depende del paquete b.deb y nuevamente el paquete b.deb depende del paquete c.deb . En este método, no solo descargamos las dependencias de a.deb, sino también las dependencias de b.deb y c.deb. Esto podría ser útil cuando no puede instalar el paquete incluso después de descargar todas las dependencias requeridas usando apt-rdepends comando.
La descarga local de paquetes con dependencias tiene tres propósitos principales.
- Evite la descarga repetitiva del mismo conjunto de paquetes una y otra vez. Por ejemplo, si desea instalar el editor Vim en varios sistemas, puede descargar Vim con todas las dependencias requeridas, guardarlas en una unidad USB (o transferirlas a través de LAN) e instalar Vim en otro sistema.
- Ahorre tiempo y ancho de banda de Internet.
- Instalar paquetes en sistemas no conectados a Internet. Esta es la principal razón para descargar paquetes con dependencias localmente. Puede descargar los paquetes en un sistema conectado a Internet y luego transferirlos al sistema fuera de línea a través de una unidad USB o LAN e instalarlos sin Internet.
Las razones pueden variar para usted. Si alguna vez quisiste instalar paquetes en un sistema fuera de línea, este método definitivamente te ayudaría.
Descargar dependencias recursivas de un paquete en Ubuntu
A los efectos de esta guía, tomaremos Vim programa como ejemplo.
Primero, enumeremos las dependencias recursivas del paquete Vim usando el siguiente comando:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u
Reemplace vim con su propio paquete. Si desea mostrar la salida en formato de columna para facilitar la lectura, ejecute:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u | column
Salida de muestra:
cdebconf libacl1 libdb5.3 liblzma5:i386 libpython3.6-stdlib libtinfo5 vim debconf libacl1:i386 libdebian-installer4 libmpdec2 libreadline7 libzstd1 vim-common dpkg libattr1 libexpat1 libncursesw5 libselinux1 libzstd1:i386 vim-runtime dpkg:i386 libattr1:i386 libffi6 libnewt0.52 libselinux1:i386 mime-support xxd gcc-8-base libbz2-1.0 libgcc1 libpcre3 libslang2 perl-base xxd:i386 gcc-8-base:i386 libbz2-1.0:i386 libgcc1:i386 libpcre3:i386 libsqlite3-0 readline-common zlib1g install-info libc6 libgpm2 libpython3.6 libssl1.1 tar zlib1g:i386 install-info:i386 libc6:i386 liblzma5 libpython3.6-minimal libtextwrap1 tar:i386
Estas son las dependencias de dependencias del programa Vim. Tenga en cuenta que es posible que no se requiera todo esto para instalar Vim.
Avancemos y descarguemos las dependencias recursivas del paquete Vim con el comando:
$ apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u)
Este comando descargará vim junto con sus programas de dependencia en el directorio actual. También descargará las dependencias de las dependencias de Vim.
Verifique que todas las dependencias se hayan descargado usando el comando "ls":
$ ls
Aquí está la lista de dependencias del programa Vim y las dependencias de sus dependencias en mi escritorio Ubuntu 18.04:
Ahora mueva todos los archivos descargados a través de una unidad USB o LAN al sistema fuera de línea. Y luego vaya a la ubicación donde guardó todos los paquetes descargados en su sistema fuera de línea e instálelos usando el comando:
$ sudo dpkg -i *
Alternativamente, puede crear el índice de todos los paquetes descargados e instalarlos usando el administrador de paquetes APT.
Para generar un índice de los paquetes descargados, vaya a la ubicación donde se almacenan los paquetes y ejecute el siguiente comando:
$ dpkg-scanpackages . | gzip -c9 > Packages.gz
Agregue esta carpeta a la lista de fuentes de APT usando el siguiente comando:
$ echo "deb[trusted=yes] file:///home/sk/vim ./" | sudo tee -a /etc/apt/sources.list
Aquí, he guardado todos los archivos en /home/sk/vim
carpeta en mi sistema fuera de línea. Debe reemplazar esta ruta con la suya propia.
Actualice el índice del paquete usando el comando:
$ sudo apt-get update
Finalmente, instale el paquete vim usando el administrador de paquetes APT:
$ sudo apt-get install vim
Del mismo modo, también puede descargar e instalar otros paquetes.
Espero que esto ayude.
Lectura sugerida:
- Cómo descargar un paquete RPM con todas las dependencias en CentOS
- Camicri Cube:instalación de paquetes en sistemas Ubuntu sin conexión
- Cómo instalar software sin conexión en Ubuntu
- Cómo simular comandos de Linux sin cambiar nada en el sistema