Supongamos que tenemos inicialmente un servidor A con Debian 9 como sistema operativo. Realizamos la instalación de los paquetes que vayamos a necesitar, ya sea Apache, monit, Python, etc… Posteriormente, creamos un segundo servidor B que debería tener los mismos paquetes que el primero. Tenemos dos formas de lograrlo: con dpkg o apt-clone.
Utilicemos uno u otro debemos tener en cuenta ciertas consideraciones previas:
- Debemos asegurarnos de que los servidores tengan el mismo contenido en /etc/apt/sources.list para poder instalar los paquetes requeridos.
- Si en nuestro servidor A tenemos paquetes de 32 bits instalados, no olvidéis lanzar en el otro servidor (o servidores) un
dpkg --add-architecture i386
para añadir soporte a los paquetes de dicha arquitectura. Lo mismo aplica si en vez de 32 bits son paquetes de otra arquitectura distinta.
La fórmula con dpkg es más tradicional y se basa en el uso de get-selections
para obtener una lista de los paquetes actualmente instalados en nuestro sistema:
# En el servidor inicial A dpkg --get-selections > paquetes_servidorA.txt # En el servidor B (donde tendremos que subir el fichero paquetes_servidorA.txt) dpkg --set-selections < paquetes_servidorA.txt apt-get update apt-get dselect-upgrade
La segunda forma es con apt-clone. Es una utilidad escrita en Python que podremos instalar desde repos con un sencillo apt-get install apt-clone. Una vez instalada:
# En el servidor A apt-clone clone paquetes_servidorA.tar.gz # En el servidor B (transferimos a este servidor el fichero paquetes_servidorA.tar.gz) apt-clone restore paquetes_servidorA.tar.gz
Si queremos obtener información del archivo generado lanzamos un apt-clone info paquetes_servidorA.tar.gz
Por otro lado, también podemos utilizar apt-clone
como una herramienta de backup del estado de la paquetería de nuestro sistema en un momento dado. Por ejemplo, podríamos obtener cada cierto tiempo (con un cron) una lista de los paquetes instalados e ir haciendo un historial que sirva como control de cambios de paquetería a nivel de sistema.
La utilidad apt-clone también funciona en distros derivadas de Debian como Ubuntu y a su vez derivadas de ésta última como ElementaryOS.