Je peux donc utiliser une seule machine:
dpkg --get-selections '*' > selection.txt
Sur une autre machine:
dpkg --set-selections < selection.txt
... suivi de l'un des éléments suivants:
aptitude install
apt-get -u dselect-upgrade
... pour installer les paquets qui.
Cependant, il semble que certaines informations soient perdues au cours du processus, par exemple si un package (par exemple, xyz
name__) est installé automatiquement en tant que dépendance d'un autre package (abc
name__). Vous pouvez voir cela chaque fois que vous faites quelque chose comme apt-get --purge remove abc
. Sur l'ordinateur d'origine, vous serez averti que le package xyz
a été installé en tant que dépendance de abc
et que vous pouvez utiliser apt-get autoremove
pour vous en débarrasser.
Maintenant, je connais deborphan
et debfoster
name__, mais ils sont difficiles à utiliser étant donné la (simple) tâche à accomplir.
Il semble que l'enregistrement et la restauration des sélections comme indiqué ci-dessus ne suffisent pas pour restaurer les dépendances subtiles des packages installés.
Existe-t-il un moyen de sauvegarder l'ensemble complet de métadonnées pour la gestion des packages et de le restaurer ensuite dans son intégralité?
Sauvegarde:
apt-mark showauto > pkgs_auto.lst
apt-mark showmanual > pkgs_manual.lst
Restaurer:
Sudo apt-mark auto $(cat pkgs_auto.lst)
Sudo apt-mark manual $(cat pkgs_manual.lst)
La réponse sélectionnée à cette question est incomplète et ne fonctionne pas (ou plus). La solution douloureuse consiste à utiliser une bash for-loop pour analyser les fichiers * .lst de sortie et les alimenter en apt install
. Mauvais choix, cependant, ne sera donc pas illustré ici.
Un meilleur choix consiste à utiliser apt-clone
, comme indiqué dans cette réponse sur Unix et Linux Stackexchange. Cela crée un petit fichier (environ 100 Ko ou moins pour mon système). Il est allégué que les paquets seront clonés avec peu d'effort ou de douleur.
Donc, en bref, sur la machine d'origine:
apt-clone clone `uname -n`
Ensuite, sur la machine à copier, copiez le fichier de clonage et exécutez:
apt-clone restore original-machine-name.apt-clone.tar.gz
J'inclus cette réponse ici car cette page est apparue dans les recherches initiales sur le Web, mais pas l'autre réponse. Cette méthode semble beaucoup plus facile.