Je ne sais pas s'il y a une meilleure façon (il y en a probablement), mais selon l'échelle dont vous avez besoin, vous pouvez utiliser la fonction de recherche d'aptitude pour une partie de la machine. Il vous permet de rechercher des packages correspondant à un modèle. Donc, aptitude search '~i'
vous donne tous les packages installés
Nous devons cependant aller plus loin. Le gestionnaire de packages aime savoir quels packages ont été directement demandés par vous et lesquels viennent d'être récupérés à cause d'autres packages. Sans cette information, des choses laides peuvent arriver. Ainsi, nous pouvons développer ce modèle de recherche pour sélectionner des packages qui ne sont pas installés automatiquement:aptitude search '!~M ~i'
La fonction de recherche est traitée en détail dans le manuel de référence d'Aptitude .
Maintenant, vous avez votre liste de packages à installer. Vous pouvez formater la sortie si nécessaire en passant l'indicateur -F à cette commande, comme -F '% p' pour obtenir une liste avec uniquement les noms de package.
Par exemple , vous pouvez exécuter ceci sur la machine 1 :
aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh
Copiez ensuite le aptshell.sh
fichier nouvellement créé sur la machine 2 et utilisez cette commande sur la machine 2 pour l'exécuter là-bas:
sudo sh aptshell.sh
Répétez ensuite le processus, avec la machine d' origine 2 comme nouvelle machine 1 et la machine d' origine 1 comme nouvelle machine 2 . Désormais, chaque machine possède tous les packages qui étaient auparavant uniquement sur l'autre.