it-swarm-es.com

Ubuntu, como configurar una nueva máquina como una existente

Tengo una configuración de máquina con las aplicaciones que necesito y me gustaría instalar la misma en una nueva caja de Ubuntu.

¿Existe un script que enumere todas las aplicaciones instaladas, de modo que pueda diferenciar entre los cuadros y así agregar los elementos que faltan?

Gracias de antemano, Chris

27
Chris Kimpton

Además de los trucos de dpkg mencionados por pjz, es posible que también desee ver etckeeper ( tutorial ) - una aplicación que pone su/etc/* bajo control de versiones, haciéndolo es más fácil encontrar los cambios que ha realizado y replicarlos en otros servidores.

Además, para una lista más corta que la producida por el método de pjz, puede usar

$ deborphan -a --no-show-section > /tmp/mypackagelist

Esto le dará una lista de paquetes que instalarán todos los demás paquetes que necesite como dependencias. Puede ser útil si realmente desea revisar la lista. (dpkg --get-selections producirá una lista muuuucho ). Además, la lista es lo suficientemente corta como para que pueda agregar nuevas líneas y comentar las entradas con '#'. Luego, al instalar los paquetes adicionales, puede hacer

$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y

De esta manera, si hay algunos paquetes que solo desea instalar en algunas máquinas, no tiene que eliminarlos de la lista de paquetes por completo.

18
Hamish Downer
dpkg --get-selections >/tmp/mypackagelist

debería hacer el truco. Luego, después de asegurarse de que su /etc/apt/sources.list en la nueva máquina tenga el mismo conjunto de entradas que en la antigua, copie mypackagelist en la nueva máquina y haga:

cat mypackagelist | xargs apt-get -y install 

y deberías estar listo para empezar.

Tenga en cuenta que la línea dpkg --get-selections también es una buena información para poner en su/etc/dir ocasionalmente; significa que no tiene que molestarse en hacer una copia de seguridad de/bin/y/usr/bin/y demás porque ya qué paquetes hay en el sistema.

17
pjz

Los mejores comandos de dpkg pueden ser [máquina original]

dpkg --get-selections | grep -v deinstall > packages_list

luego, al instalar [nueva máquina; después de transferir la lista_paquetes]

Sudo dpkg --set-selections < packages_list
Sudo apt-get -u dselect-upgrade
2
Benji

Los foros de Ubuntu tienen un buena respuesta

  1. En la máquina anterior: $ dpkg --get-selections> installed-software
    • Esto obtiene su lista de aplicaciones instaladas
  2. En la nueva máquina: $ dpkg --set-selections
    • Esto configura la nueva máquina para instalar los paquetes que no están instalados actualmente en la nueva máquina.
    • Puede ser interesante ver si la nueva máquina tiene algunos paquetes que no están instalados en la máquina anterior, por lo que puede encontrar el comando dpkg --get-selections> en la nueva máquina y luego usar diff para comparar los archivos de salida de ambos.
  3. Finalmente, en la nueva máquina: $ dselect y se instalarán los paquetes.

Algunos enlaces adicionales de la discusión de los foros:

  1. No olvides tus claves gpg (del mismo hilo)
  2. Cómo instalar todos los paquetes deseados y desinstalar todos los paquetes no deseados
2
pcapademic

Existe una herramienta llamada ReMasterSys que puede hacerlo por usted. ver http://geekconnection.org/remastersys/

Espero que sea de utilidad.

1
user46844

Usar FSArchiver para replicar las máquinas es perfectamente aceptable. De lo contrario, aquí hay pares de comandos útiles, la primera mitad de los cuales también puede agregar a su cron de respaldo:

debconf-get-selections
debconf-set-selections

~

aptitude-create-state-bundle
aptitude-run-state-bundle --unpack

~

dpkg --get-selections
dpkg --clear-selections; dpkg --set-selections

Las ubicaciones que debe replicar son/etc y/var. Los comandos anteriores manipulan algunos archivos en/var directamente y algunos archivos de configuración en/etc indirectamente a través de debconf. Obtendrá el mismo efecto simplemente replicando esos subárboles y ejecutando aptitude.

1
Tobu

Si no es un fan de CLI (aunque realmente debería serlo), puede usar el administrador de paquetes Synaptic para guardar la imagen de los paquetes instalados y usar ese archivo (nuevamente a través de Synaptic) para cargar la nueva máquina. Bajo la opción de archivo/guardar marcas, hay una casilla de verificación llamada "guardar estado completo".

1
Nerdfest

¿Por qué no está simplemente clonando la máquina usando dd?

1
elcuco

Supongo que Docker sería la forma de hacer esto ahora - defina los requisitos en un Dockerfile - luego puede ejecutarlo en cualquier Docker Host.

0
Chris Kimpton