¿Puedo transferir el directorio de instalación de un paquete en particular a otra computadora para evitar el paso de instalación?

¿Puedo transferir el directorio de instalación de un paquete en particular a otra computadora para evitar el paso de instalación?

Instalé un paquete en mi máquina Linux y quiero instalar el mismo paquete en otra máquina Linux. ¿Puedo copiar directamente el directorio instalado de una computadora a otra? Me refiero a clonar el directorio de instalación.

Respuesta1

Considerando el software instalado con APT/DPKG

En la mayoría de los sistemas Linux, incluido Ubuntu, no existe un directorio de instalación único para un paquete, aunque a veces el software de terceros puede tener todos sus archivos en un solo directorio.

En cambio, un paquete contiene un conjunto de archivos que se colocan en múltiples ubicaciones del sistema de archivos. La ejecución whereisde un paquete muestra los directorios que contienen sus partes principales:

$ whereis gimp
gimp: /usr/bin/gimp /usr/lib/gimp /etc/gimp /usr/share/gimp /usr/share/man/man1/gimp.1.gz

Podemos ver que gimp tiene archivos al menos en , /usr/biny , los cuales contienen muchos archivos que pertenecen a otros paquetes./usr/lib/etc/usr/share

Puede usar dpkg-query -Lo la --listfilesopción para leer la lista de archivos de un paquete conocido por dpkg:

$ dpkg --listfiles g++
/.
/usr
/usr/bin
/usr/share
/usr/share/doc
/usr/share/man
/usr/share/man/man1
/usr/bin/g++
/usr/bin/x86_64-linux-gnu-g++
/usr/share/doc/g++
/usr/share/man/man1/g++.1.gz
/usr/share/man/man1/x86_64-linux-gnu-g++.1.gz

Tenga en cuenta que la lista incluye todos los directorios principales, aunque el paquete g++ obviamente no los proporcionó (para obtener solo archivos puede hacer algo como for i in $(dpkg --listfiles g++); do [[ -f "$i" ]] && echo "$i"; done, pero algunas instalaciones de paquetes crean directorios).

El de g++es una lista de archivos muy pequeña...

$ dpkg --listfiles gimp | wc -l
254
$ dpkg --listfiles xkb-data | wc -l
331
$ dpkg --listfiles linux-image-4.10.0-24-generic | wc -l
1312

También considere que si simplemente copiara todos los archivos relevantes en todas las ubicaciones relevantes en otro sistema, el administrador de paquetes no sabría nada al respecto, por lo que el paquete no se actualizaría y sus dependencias no se instalarían, por lo que probablemente no funcionaría. en absoluto por razones difíciles de depurar.

Esto se reduce a que, para el software que se puede instalar con APT, la forma más sencilla de instalarlo es, con diferencia, con APT. Si desea ahorrar en la descarga en cada sistema, consulte¿Cómo puedo instalar software o paquetes sin Internet (sin conexión)?.

Algunas personas consideran que este estilo distribuido de instalación es... un error. Y muchos de ellos están haciendo algo al respecto, por ejemplo creando distribuciones que instalan paquetes de forma discreta o inventando soluciones de empaquetado multiplataforma como snaps que permiten una instalación discreta que incluye todas las dependencias.

información relacionada