Versuchen Sie dies stattdessen, da dies Ihre Ausgabe beansprucht und eine riesige Zeile mit Leerzeichen zwischen den Dateinamen ergibt.
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)
Die einzige Änderung an Ihrem ursprünglichen Beitrag ist das Hinzufügen der zweiten awk-Anweisung. Dies könnte wahrscheinlich parallel zur ersten erfolgen, um die gewünschte Datei zu erstellen.
Diese Änderung erzwingt, dass apt-get die Pakete und alle fehlenden Abhängigkeiten, die nicht zum ersten Mal installiert wurden, korrekt erneut herunterlädt und sie der Reihe nach neu installiert.
Wenn wir es inline machen, würde es meiner Meinung nach dann so aussehen:
dpkg --get-selections | grep -v deinstall | awk '{print $1}' | awk '$1=$1' ORS=' ' > list.log
Und stellen Sie dann sicher, dass das System wirklich die richtigen Pakete (oder die neuesten) enthält, bereinigen Sie den apt-Cache, aktualisieren Sie ihn und laden Sie alle Dateien erneut herunter (Sie können die ersten beiden Schritte überspringen, wenn Sie nur das wollen, was Sie im Cache haben neu installiert):
apt-get clean && apt-get update && apt-get install --reinstall $(cat list.log)
Ich hatte über 2k Pakete auf einem System installiert, auf dem ich ein Upgrade durchgeführt habe und das einen Hangup hatte. Mit dpkg --configure -a wurde die Installation abgeschlossen (es war in der letzten Phase). Ich habe dieses dann ausgeführt, um alles neu zu installieren.
Oder wie unter /superuser/298912/reinstall-debian-while-keeping-installed-packages-and-data angegeben :
sudo apt-get install --reinstall $(dpkg --get-selections | grep -w 'install$' | cut -f1)
Stellen Sie einfach sicher, dass Sie zuerst ein "init 2" ausführen, bevor Sie eine Neuinstallation durchführen, da einige der Komponenten von X oder Ihrem bevorzugten Fenstermanager möglicherweise nicht neu installiert werden möchten.