Solution 1 :
En plus des astuces dpkg mentionnées par pjz, vous pouvez également consulter etckeeper (tutoriel) - une application qui place votre /etc/* sous contrôle de version, ce qui facilite la recherche des modifications que vous avez apportées et les réplique sur d'autres serveurs.
De plus, pour une liste plus courte que celle produite par la méthode de pjz, vous pouvez utiliser
$ deborphan -a --no-show-section > /tmp/mypackagelist
Cela vous donnera une liste de packages qui installeront tous les autres packages dont vous avez besoin en tant que dépendances. Peut être utile si vous voulez réellement parcourir la liste. (dpkg --get-selections produira un loooong liste). De plus, la liste est suffisamment courte pour que vous puissiez ajouter des nouvelles lignes et commenter les entrées avec '#'. Ensuite, lors de l'installation des packages supplémentaires, vous pouvez le faire
$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y
De cette façon, s'il y a des packages que vous ne souhaitez installer que sur certaines machines, vous n'avez pas à les supprimer complètement de la liste des packages.
Solution 2 :
dpkg --get-selections >/tmp/mypackagelist
devrait faire l'affaire. Ensuite, après vous être assuré que votre /etc/apt/sources.list sur la nouvelle machine a le même ensemble d'entrées que sur l'ancienne, copiez mypackagelist sur la nouvelle machine et faites :
cat mypackagelist | xargs apt-get -y install
et vous devriez être prêt à partir.
Notez que la ligne dpkg --get-selections est également une bonne information à mettre occasionnellement dans votre /etc/dir - cela signifie que vous n'avez pas à vous soucier de sauvegarder /bin/ et /usr/bin/ et autres parce que vous savez quels paquets sont sur le système.
Solution 3 :
Les forums Ubuntu ont une bonne réponse
- Sur l'ancienne machine :$ dpkg --get-selections> installed-software
- Ceci obtient votre liste d'applications installées
- Sur la nouvelle machine :$ dpkg --set-selections
- Cela configure la nouvelle machine pour installer les packages qui ne sont pas actuellement installés sur la nouvelle machine.
- Il peut être intéressant de voir si la nouvelle machine a des packages non installés sur l'ancienne machine, vous pouvez donc trouver la commande dpkg --get-selections> sur la nouvelle machine, puis utiliser diff pour comparer les fichiers de sortie des deux.
- Enfin, sur la nouvelle machine :$ dselect et les packages seront installés.
Quelques liens supplémentaires de la discussion des forums :
- N'oubliez pas vos clés gpg (du même fil)
- Comment installer tous les packages souhaités et désinstaller tous les packages indésirables
Solution 4 :
Les meilleures commandes dpkg peuvent être [machine d'origine]
dpkg --get-selections | grep -v deinstall > packages_list
puis lors de l'installation de [nouvelle machine ; après avoir transféré la packages_list]
sudo dpkg --set-selections < packages_list
sudo apt-get -u dselect-upgrade