Intente esto, ya que tomará su salida y la convertirá en una línea gigante con espacios que separan los nombres de los archivos.
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)
El único cambio en su publicación original es agregar la segunda declaración awk, que probablemente podría hacerse en línea con la primera para crear el archivo que desea.
Este cambio obligará a apt-get a volver a descargar correctamente los paquetes y las dependencias faltantes que no se instalaron la primera vez y volver a instalarlos en orden.
Si lo hacemos en línea, creo que se vería así:
dpkg --get-selections | grep -v deinstall | awk '{print $1}' | awk '$1=$1' ORS=' ' > list.log
Y luego asegúrese de que realmente el sistema tenga los paquetes correctos (o más recientes), limpie el caché apto, actualícelo y luego vuelva a descargar todos los archivos (puede omitir los primeros dos pasos si solo quiere lo que tiene en el caché reinstalado):
apt-get clean && apt-get update && apt-get install --reinstall $(cat list.log)
Tenía más de 2k paquetes instalados en un sistema que actualicé que tenía un bloqueo. Usando dpkg --configure -a terminó la instalación (estaba en la fase final). Luego ejecuté esto para que todo se reinstale correctamente.
O como se indica en /superuser/298912/reinstall-debian-while-keeping-installed-packages-and-data :
sudo apt-get install --reinstall $(dpkg --get-selections | grep -w 'install$' | cut -f1)
Solo asegúrese de ejecutar primero un "init 2" antes de volver a instalar, ya que algunos de los componentes de X o su administrador de ventanas favorito pueden no gustarle la reinstalación.