dpkg -l
lista todos os pacotes instalados (na lista quando você o filtra corretamente). Você pode obter a mesma lista com dpkg --get-selections
(que não requer filtragem adicional).
Isso perde informações sobre pacotes manualmente versus pacotes instalados automaticamente. É muito conveniente ter bibliotecas e outros pacotes marcados como apenas indiretamente necessários. Pacotes marcados como instalados automaticamente podem ser removidos ou substituídos por pacotes diferentes sem problemas. O Dpkg não conhece pacotes instalados automaticamente, apenas o apt.
Para listar os pacotes instalados manualmente, você pode usar o aptitude:
aptitude search -F %p '~i !~M' >reinstallList.txt
Sem aptidão, é um pouco mais 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 os pacotes que foram instalados anteriormente:
apt-get install $(cat reinstallList.txt)
Como alternativa, você pode usar o método mais indireto de copiar a lista de pacotes instalados e restaurar a lista de pacotes marcados como automáticos. Para fazer backup:
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)