installer les mêmes paquets debian sur un autre système

13

Comment exporter une liste des paquets Debian installés sur un système, puis installer ces mêmes paquets sur un nouveau système?

jes5199
la source

Réponses:

17

Pour sauvegarder:

sudo dpkg --get-selections > /tmp/dpkglist.txt

Restaurer:

sudo dpkg --set-selections < /tmp/dpkglist.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Consultez également cette question pour des options et des informations supplémentaires: Ubuntu, comment configurer une nouvelle machine comme une machine existante

J'ai ce qui précède en cours d'exécution dans un cronjob quotidien qui vérifie la dpgklist dans SVN dans le cadre de notre inventaire de serveurs. Cela vous permettra de garder un inventaire précis et raisonnable des packages installés sur vos serveurs et il est facile de faire une différence côte à côte rapide pour voir si un serveur manque un package particulier.

faultyserver
la source
1
Je reçois ce message d'erreur pour chaque ligne d'entrée: dpkg: warning: package not in status nor available database at line ...
danorton
cette façon ne fonctionne pas depuis quelques versions d'ubuntu
QkiZ
10

aptitudesatisfait également ce cas d'utilisation, et il conserve des informations sur les packages "installés automatiquement" que les autres méthodes ne font pas. Exécutez ce qui suit sur la machine de référence:

aptitude search -F '%p' '~i!~M' > package_list 

Copiez package_listsur l'autre machine et exécutez

xargs aptitude --schedule-only install < package_list; aptitude install; 
Vihang D
la source
Juste une petite note. Selon le manuel de référence d'aptitude, le champ "package" est "extensible" par défaut, donc aptitude search -F '%p' '~i!~M' > package_listdevrait également fonctionner correctement.
chronos
Concernant la sauvegarde des packages: voir plug for deborphan@ bogdan.org.ua/2013/10/18/…
TomRoche
[insert your own linebreaks, since http://serverfault.com/editing-help#linebreaks lies] Concernant la restauration des packages: cela devra être fait en tant que root, non? Si c'est le cas, <br/> Le xargsdans votre ligne de commande de restauration = xargs aptitude --schedule-only install <package_list; installation d'aptitude; me donne envie de savoir, <br/> 1. Pourquoi aptitudefaut-il le xargs? dpkg --set-selectionsne le fait pas. <br/> 2. En supposant aptitude que vous avez besoin du xargs, où mettre un ou plusieurs sudos dans votre ligne de commande de restauration? Sinon, obtenez root pour exécuter cette ligne, en supposant que cela est nécessaire.
TomRoche
0

C'est une bonne idée, et vous pouvez également configurer un serveur avec apt-proxy si vous en avez l'habitude.


la source
Après avoir joué avec plusieurs proxys pour apt, j'ai fini par décider d'apt-cacher-ng. apt-cacher-ng est très simple à configurer et à partir de plusieurs comptes, il semble être plus robuste que l'apt-proxy d'origine. Cependant, chaque personne a son propre favori. unix-ag.uni-kl.de/~bloch/acng
faultyserver
Mon vote est pour environ, c'est le seul qui ne soit pas une sorte de fou.
womble
Intéressant ... Je n'ai en fait essayé aucune des alternatives.
0

La réponse de faultyservers n'a fonctionné pour moi qu'après avoir exécuté une commande différente selon http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html

sudo apt-get install dselect sudo dselect access sudo dselect update

Avant cette course

sudo apt-get dselect-upgrade

seulement retourné

[...]
dpkg: avertissement: package absent de la base de données à la ligne 302: xfonts-utils
dpkg: avertissement: packages inconnus trouvés; cela peut signifier que la base de données disponible est obsolète et doit être mise à jour via une méthode
frontale pi @ FHEM-new: / tmp $ sudo apt-get dselect-upgrade
Lecture des listes de packages ... Terminé
Construction de l'arborescence des dépendances
Lecture des informations d'état ... Terminé
0 mis à niveau, 0 nouvellement installé, 0 à supprimer et 0 non mis à niveau.

J'essayais d'installer les mêmes packages à partir de mon ancien Raspberry Pi (exécutant Raspbian GNU / Linux 7 (wheezy)) sur mon nouveau Raspberry (Raspbian GNU / Linux 8 (jessie)).

adiuva
la source