Para todas las respuestas que encontré sobre este tema, la solución fue crear, en cierta computadora A donde necesito instalar el paquete, un archivo que contenga todas las dependencias que necesita y luego descargarlo en otra computadora, llamémoslo B.
La cuestión es que quiero tener un almacenamiento de cierto software crítico que necesito trabajar para poder instalarlos fuera de línea más adelante en caso de que tenga que formatear mi escritorio.
REALMENTE NO ME IMPORTA tener muchos archivos .deb redundantes en mi computadora, y REALMENTE NO ME IMPORTA si voy a almacenar 1 gb de archivos para instalar un software de 10 MB.
Por lo tanto, quiero que se descargue cualquier dependencia posible. ¿Hay alguna manera de que pueda hacer esto?
ubuntu
package-management
apt
Ebernardes
fuente
fuente
Respuestas:
Yo iría con esto:
apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download
Luego puede instalarlo
dpkg -i *.deb
en el directorio donde los descargó.fuente
apt-cache depends -i
buscará dependencias importantes para el PAQUETE. Se ejecutará solo siapt-get download PACKAGE
logra encontrar PAQUETE en los repositorios de ppa a los que ha agregado/etc/apt/sources.list
. Ahora,apt-cache depends -i PACKAGE
tiene salida de formaDepends: dependency-name
. Solo necesitamos nombres de dependencias, así que eso es lo que está haciendo awk: está obteniendo solo la segunda cadena. Por ejemplo, intenta hacerloapt-cache depends -i vim | awk '{print $2}'
. Tenga en cuenta también, toda la línea a la derecha de && puede considerarse una declaracióndpkg -i *.deb
no es tan bueno, no instala el paquete por orden de dependencias. Por lo tanto, es posible que deba volver a intentarlo varias veces para instalar todos los paquetes. De todos modos a la solución?¿Es una cosa de una sola vez, o algo que desea mantener actualizado? ¿Está trabajando principalmente en línea y solo quiere una copia de seguridad local de todos sus paquetes, por si acaso?
Hay varios servicios que puede instalar que actúan como un proxy / caché APT. Apunte APT a su caché local, se descargará de Internet y mantendrá una copia almacenada localmente de todos los paquetes. Esto puede ser muy útil si tiene muchas computadoras en su red con una selección idéntica de paquetes.
Mi caché de apt preferido es aproximadamente , pero también hay apt-cacher-ng y algunos otros. Cada uno tiene pequeñas diferencias sobre cómo se puede configurar el almacenamiento en caché.
Siempre uso los instaladores netinst mínimos para construir mis sistemas basados en Debian, lo que significa que mi caché apt generalmente tiene casi todos los paquetes para construir completamente mis sistemas.
fuente
ejecuta el siguiente programa de Python:
fuente
ejecuta el siguiente programa python3:
Descargará todas las dependencias de todas las dependencias, no solo las dependencias inmediatas. Pero instalarlos con
dpkg -i *.deb
falló. Tal vez porqueapt-cache depends -i package
da información errónea o algunos archivos some.deb todavía necesitan conexión a Internet para instalarse.fuente