dpkg -l
répertorie tous les packages installés (dans la liste lorsque vous le filtrez correctement). Vous pouvez obtenir la même liste dpkg --get-selections
(qui ne nécessite aucun filtrage supplémentaire).
Cela perd des informations sur les packages installés manuellement ou automatiquement. Il est très pratique d'avoir les bibliothèques et autres packages marqués comme étant seulement indirectement nécessaires. Les packages marqués comme installés automatiquement peuvent être supprimés ou remplacés par différents packages sans problème. Dpkg ne connaît pas les packages installés automatiquement, seul apt le sait.
Pour répertorier les packages installés manuellement, vous pouvez utiliser aptitude:
aptitude search -F %p '~i !~M' >reinstallList.txt
Sans aptitude, c'est un peu plus compliqué.
dpkg --get-selections | awk '$2 == "install" {print $1}' >installed.txt
apt-mark showauto >automatic.txt
comm -32 installed.txt automatic.txt >reinstallList.txt
Pour installer tous les packages précédemment installés:
apt-get install $(cat reinstallList.txt)
Vous pouvez également utiliser la méthode plus détournée pour copier la liste des packages installés, puis restaurer la liste des packages marqués comme automatiques. Pour sauvegarder:
dpkg --get-selections >selections.txt
apt-mark showauto >automatic.txt
Restaurer:
dpkg --set-selections <selections.txt
apt-get dselect-upgrade
apt-mark markauto $(cat automatic.txt)