No sé si hay una mejor manera (probablemente la haya), pero dependiendo de la escala que necesite, podría usar la función de búsqueda de aptitude para parte de la maquinaria. Le permite buscar paquetes que coincidan con un patrón. Entonces, aptitude search '~i'
te da todos los paquetes instalados
Sin embargo, tenemos que ir un paso más allá. Al administrador de paquetes le gusta saber qué paquetes solicitó usted directamente y cuáles fueron retirados debido a otros paquetes. Sin esa información, pueden pasar cosas feas. Por lo tanto, podemos ampliar ese patrón de búsqueda para seleccionar paquetes que no se instalan automáticamente:aptitude search '!~M ~i'
La función de búsqueda se cubre con cierto detalle en el manual de referencia de Aptitude .
Ahora, tiene su lista de paquetes para instalar. Puede formatear la salida según sea necesario pasando el indicador -F a ese comando, como -F '% p' para obtener una lista con solo los nombres de los paquetes.
Por ejemplo , podría ejecutar esto en la máquina 1 :
aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh
Luego copie el aptshell.sh
archivo recién creado en la máquina 2 y use este comando en la máquina 2 para ejecutarlo allí:
sudo sh aptshell.sh
Luego repita el proceso, con la máquina original 2 como la nueva máquina 1 , y la máquina original 1 como la nueva máquina 2 . Ahora cada máquina tiene todos los paquetes que antes solo estaban en la otra.