dpkg -l
enumera todos los paquetes instalados (en la lista cuando lo filtra correctamente). Puede obtener la misma lista con dpkg --get-selections
(que no requiere más filtrado).
Esto pierde información sobre los paquetes instalados manualmente o los que se instalan automáticamente. Es muy conveniente tener bibliotecas y otros paquetes marcados como solo necesarios indirectamente. Los paquetes marcados como instalados automáticamente se pueden quitar o reemplazar por diferentes paquetes sin problemas. Dpkg no sabe acerca de los paquetes instalados automáticamente, solo apt lo sabe.
Para enumerar los paquetes instalados manualmente, puede usar aptitude:
aptitude search -F %p '~i !~M' >reinstallList.txt
Sin aptitud, es un poco más complicado.
dpkg --get-selections | awk '$2 == "install" {print $1}' >installed.txt
apt-mark showauto >automatic.txt
comm -32 installed.txt automatic.txt >reinstallList.txt
Para instalar todos los paquetes que se instalaron anteriormente:
apt-get install $(cat reinstallList.txt)
Alternativamente, puede utilizar el método más indirecto de copiar la lista de paquetes instalados y luego restaurar la lista de paquetes marcados como automáticos. Hacer copias de seguridad:
dpkg --get-selections >selections.txt
apt-mark showauto >automatic.txt
Restaurar:
dpkg --set-selections <selections.txt
apt-get dselect-upgrade
apt-mark markauto $(cat automatic.txt)