instalar los mismos paquetes de Debian en otro sistema


13

¿Cómo exporto una lista de paquetes Debian instalados en un sistema y luego instalo esos mismos paquetes en un sistema nuevo?

Respuestas:


17

Hacer copias de seguridad:

sudo dpkg --get-selections > /tmp/dpkglist.txt

Restaurar:

sudo dpkg --set-selections < /tmp/dpkglist.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Consulte también esta pregunta para obtener información y opciones adicionales: Ubuntu, cómo configurar una nueva máquina como una existente

Tengo lo anterior ejecutándose en un cronjob diario que verifica la dpgklist en SVN como parte de nuestro inventario del servidor. Esto le permitirá mantener un inventario razonable y preciso de los paquetes instalados en sus servidores y es fácil hacer una diferencia rápida de lado a lado para ver si un servidor no tiene un paquete en particular.


1
Recibo este mensaje de error para cada línea de entrada: dpkg: warning: package not in status nor available database at line ...
danorton

de esta manera no funciona desde pocas versiones de ubuntu
QkiZ

10

aptitudetambién satisface este caso de uso y conserva información sobre paquetes "instalados automáticamente" que otros métodos no tienen. Ejecute lo siguiente en la máquina de referencia:

aptitude search -F '%p' '~i!~M' > package_list 

Copiar package_lista la otra máquina y ejecutar

xargs aptitude --schedule-only install < package_list; aptitude install; 

Solo una nota menor. De acuerdo con el manual de referencia de aptitudes, el campo "paquete" es "expandible" por defecto, por lo aptitude search -F '%p' '~i!~M' > package_listque también debería funcionar bien.
cronos

Con respecto a la copia de seguridad del paquete: vea el enchufe para deborphan@ bogdan.org.ua/2013/10/18/…
TomRoche

[insert your own linebreaks, since http://serverfault.com/editing-help#linebreaks lies] Con respecto a la restauración del paquete: esto deberá hacerse como root, ¿no? Si es así, <br/> El xargsen su línea de comando de restauración = xargs aptitude --schedule-only install <package_list; instalación de aptitud; me hace querer saber, <br/> 1. ¿Por qué aptitudenecesita el xargs? dpkg --set-selectionsno. <br/> 2. Suponiendo aptitude que necesita xargs, ¿dónde poner uno o más sudos en su línea de comando de restauración? O bien, obtenga la raíz para ejecutar esa línea, suponiendo que sea necesario.
TomRoche

0

Esa es una buena idea, y también puede configurar un servidor con apt-proxy si tiene la costumbre de hacerlo.


Después de jugar con varios proxies para apt, terminé decidiéndome por apt-cacher-ng. apt-cacher-ng es muy simple de configurar y desde varias cuentas parece ser más robusto que el apt-proxy original. Sin embargo, cada persona tiene su propio favorito. unix-ag.uni-kl.de/~bloch/acng
faultyserver

Mi voto es por aproximadamente, es el único que no es una especie de locura.
womble

Interesante ... En realidad no he probado ninguna de las alternativas.

0

la respuesta de los servidores de falla funcionó para mí solo después de ejecutar un comando diferente según http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html

sudo apt-get install dselect sudo dselect access sudo dselect update

Antes de eso corriendo

sudo apt-get dselect-upgrade

solo regresó

[...]
dpkg: advertencia: el paquete no está en la base de datos en la línea 302: xfonts-utils
dpkg: advertencia: se encontraron paquetes desconocidos; esto puede significar que la base de datos disponible está desactualizada y necesita actualizarse mediante un método frontend
pi @ FHEM-new: / tmp $ sudo apt-get dselect-upgrade
Lectura de listas de paquetes ... Hecho
Creación del árbol de dependencias
Lectura de información de estado ... Hecho
0 actualizado, 0 recién instalado, 0 para eliminar y 0 no actualizado.

Intenté instalar los mismos paquetes desde mi Raspberry Pi anterior (ejecutando Raspbian GNU / Linux 7 (wheezy)) en mi nuevo Raspberry (Raspbian GNU / Linux 8 (jessie)).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.