Reinstalacja wszystkich pakietów w systemie

Series: publications March 29, 2016

Za pomocą dostarczonych programów do zarządzania pakietami w dystrybucji Debian (oraz pochodnych), tj. dpkg i APT można przeinstalować wszystkie (dosłownie) dostępne pakiety w systemie.

Powyższy przykład nie jest “piękny” z punktu widzenia administracji, jednak pozwala na naprawę systemu jeśli nie mamy niczego innego pod ręką.

Czynności wstępne

W pierwszej kolejności trzeba wyczyścić zawartość /var/cache/apt/archives/ oraz usunąć osierocone pakiety za pomocą poniższych komend:

apt-get clean && apt-get autoclean
apt-get autoremove

Polecenie apt-get autoremove można wywołać dodatkowo z opcją --purge jeśli nie chcemy zostawiać plików konfiguracyjnych.

Reinstalacja wszystkich pakietów

Następnie wykonać poniższe komendy, które:

  • wyciągną nazwy wszystkich zainstalowanych pakietów
  • dodatkowo pominą takie pakiety jak dpkg oraz apt
  • ponownie pobiorą i zainstalują (dokładniej to przeinstalują) pobrany pakiet nie konfigurując go na etapie instalacji
  • skonfigurują pobrany pakiet z priorytetem low wyświetlając wszystkie możliwe informacje
for i in $(dpkg --get-selections | awk '{print $1}' | egrep -v '(dpkg|apt)') ; do
  DEBIAN_FRONTEND=noninteractive apt-get install --yes --force-yes --reinstall $i
  dpkg-reconfigure -p low $i
done

built with Jekyll and trimstray blog — read the fine print