Je ne sais pas s'il existe un meilleur moyen (il y en a probablement un), mais selon l'échelle dont vous avez besoin, vous pourriez utiliser la fonction de recherche d'aptitude pour une partie de la machinerie. Elle vous permet de rechercher les paquets correspondant à un motif. Ainsi, aptitude search '~i'
vous donne tous les paquets installés
Mais nous devons aller plus loin. Le gestionnaire de paquets aime savoir quels paquets ont été directement demandés par vous et quels paquets ont été simplement ajoutés à cause d'autres paquets. Sans cette information, de vilaines choses peuvent se produire. Nous pouvons donc étendre ce modèle de recherche pour sélectionner les paquets qui ne sont pas automatiquement installés : aptitude search '!~M ~i'
La fonction de recherche est traitée en détail dans le document Le manuel de référence d'Aptitude .
Maintenant, vous avez votre liste de paquets à installer. Vous pouvez formater la sortie si nécessaire en passant l'option -F à cette commande, comme -F '%p' pour obtenir une liste contenant uniquement les noms des paquets.
Par exemple vous pouvez l'exécuter sur machine 1 :
aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh
Ensuite, copiez le fichier nouvellement créé aptshell.sh
à l'adresse suivante machine 2 et et utiliser cette commande sur machine 2 pour l'exécuter là :
sudo sh aptshell.sh
Ensuite, répétez le processus, avec l'original machine 2 comme le nouveau machine 1 et l'original machine 1 comme le nouveau machine 2 . Maintenant, chaque machine a tous les paquets qui étaient auparavant uniquement sur l'autre.