Spróbuj tego zamiast tego, ponieważ zajmie to wynik i sprawi, że będzie to jedna gigantyczna linia ze spacjami oddzielającymi nazwy plików.
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)
Jedyną zmianą w oryginalnym poście jest dodanie drugiej instrukcji awk, która prawdopodobnie mogłaby zostać wykonana równolegle z pierwszą, aby utworzyć żądany plik.
Ta zmiana wymusi na apt-get poprawne ponowne pobranie pakietów i brakujących zależności, które nie zostały zainstalowane za pierwszym razem, i ponowne zainstalowanie ich w kolejności.
Jeśli zrobimy to inline, uważam, że wyglądałoby to tak:
dpkg --get-selections | grep -v deinstall | awk '{print $1}' | awk '$1=$1' ORS=' ' > list.log
A następnie upewnij się, że naprawdę masz system z poprawnymi pakietami (lub najnowszymi), wyczyść apt cache, zaktualizuj go, a następnie ponownie pobierz wszystkie pliki (możesz pominąć dwa pierwsze kroki, jeśli chcesz tylko to, co masz w pamięci podręcznej zainstalowany ponownie):
apt-get clean && apt-get update && apt-get install --reinstall $(cat list.log)
Miałem ponad 2k pakietów zainstalowanych w zaktualizowanym systemie z zawieszeniem się. Użycie dpkg --configure -a zakończyło instalację (była w końcowej fazie). Następnie uruchomiłem to, aby wszystko ponownie się poprawnie instalowało.
Lub jak podano na /superuser/298912/reinstall-debian-while-keeping-installed-packages-and-data :
sudo apt-get install --reinstall $(dpkg --get-selections | grep -w 'install$' | cut -f1)
Upewnij się, że najpierw uruchomisz program „init 2” przed ponowną instalacją, ponieważ niektóre składniki X lub ulubionego menedżera okien mogą nie lubić ponownej instalacji.