Je voudrais obtenir une liste des packages installés sur un système et les installer tous sur un autre système.
Je sais que cela dpkg --get-selections
peut me donner une liste de tous les packages installés que je peux diriger dpkg --set-selections
sur le système cible. Cependant, certains des packages installés sont ceux que j'ai construits moi-même localement (en utilisant par exemple checkinstall) et ne sont pas disponibles dans les référentiels. Le dpkg --set-selections
processus échouera s'il ne parvient pas à trouver ces packages dans les référentiels.
Existe-t-il un moyen de filtrer la liste générée par dpkg --get-selections
afin qu'elle ne contienne que des packages dont la version actuellement installée est disponible dans mes référentiels actuels?
la source
total=$(dpkg --get-selections '*'|wc -l); i=0; dpkg --get-selections '*' | while read line; do i=$(($i+1)); apt-cache policy $(echo "$line" | cut -f1 ) | grep -q 'http://' && echo "$i/$total $line"; echo $line>>/var/tmp/dpkg-selection.list; done
Utilisez la commande suivante
il créera un fichier appelé logiciel installé dans votre répertoire personnel
sur le nouveau système
cela va lire la sélection et installer
la source