Tente fazer isso, pois ele pegará sua saída e criará uma linha gigante com espaços que separam os nomes dos arquivos.
dpkg --get-selections | grep -v deinstall | awk '{print $1}' > list.log
awk '$1=$1' ORS=' ' list.log > newlist.log
apt-get install --reinstall $(cat newlist.log)
A única alteração na postagem original é adicionar a segunda declaração do awk, que provavelmente poderia ser feita em linha com a primeira para criar o arquivo desejado.
Essa alteração forçará o apt-get a baixar novamente novamente os pacotes e todas as dependências ausentes que não foram instaladas na primeira vez e os reinstalará em ordem.
Se o fizermos em linha, acredito que ficaria assim:
dpkg --get-selections | grep -v deinstall | awk '{print $1}' | awk '$1=$1' ORS=' ' > list.log
E certifique-se de realmente garantir que o sistema tenha pacotes corretos (ou mais recentes), limpe o cache apt, atualize-o e faça o download novamente de todos os arquivos (você pode pular as duas primeiras etapas se quiser apenas o que possui no cache reinstalado):
apt-get clean && apt-get update && apt-get install --reinstall $(cat list.log)
Eu tinha mais de 2k pacotes instalados em um sistema que atualizei com um problema. O uso do dpkg --configure -a concluiu a instalação (estava na fase final). Eu executei isso para fazer tudo reinstalar corretamente.
Ou conforme indicado em /superuser/298912/reinstall-debian- while-keeping-installed-packages- and-data :
sudo apt-get install --reinstall $(dpkg --get-selections | grep -w 'install$' | cut -f1)
Apenas certifique-se de executar um "init 2" antes de qualquer reinstalação, pois alguns componentes do X ou do seu gerenciador de janelas favorito podem não gostar de ser reinstalados.