Ubuntu Repair: Alle installierten Pakete erneut installieren….
Posted in Repair, Ubuntu & Co on Mai 4th, 2009 by osfight(Ubuntu 9.04 – Jaunty Jackelope , Gnome 2.26.1, Kernel 2.6.28-11-generic)
Alle Pakete erneute zu installieren, die schon installiert sind, kann nötig werden, insofern man Festplattendefekte hatte oder aus irgendwelchen Gründen Systemdateien gelöscht gelöscht wurden. In einem Szenario sind zum Beispiel Dateien aus dem /usr/lib64/ Ordner unwiederruflich gelöscht worden. Woher soll man nun wissen, welche das gewesen sind, zu welchen Paketen diese gehört haben und wie man diese wiederfindet. Eine simple Methode ist also einfach alle Pakete die installiert sind erneut zu installieren.
Für ein einzelnes Paket ist die apt-Option --reinstall hilfreich:
apt-get install --reinstall Paketname
Das ganze wird aber komplizierter, insofern man alle Pakete erneut installieren möchte. Man kann versuchen in Synaptic sich alle installierten Pakete anzeigen zu lassen (Synaptic→Status→Installierte Pakete), alle markieren und ein “erneutes installieren” durchführen. Bei über 1900 Paketen in der neusten Ubuntu Version dauert das berechnen aller Abhängigkeiten bis zu einige Minuten, da ist Geduld gefragt. Sollte Synaptic danach durchlaufen, hat man Glück.
Wenn nicht, kann man ein kleines Skript benutzen und relativ stupide jedes Paket einzeln neu installieren, das dauert etwas länger, aber sollte problemlos funktionieren. Mit
dpkg --get-selections
lässt sich in einer Konsole der Status aller Pakete anzeigen und mit dem Skript
#!/bin/bash
apt-get clean
apt-get update
for pkg in `dpkg --get-selections | awk '{print $1}' | egrep -v '(dpkg|apt|mysql|mythtv)'` ; do apt-get -y --force-yes install --reinstall $pkg ; done
installiert man via apt-get automatisch alle Pakete mit dem Status installiert erneut. Der Code wird in eine Datei skript.sh kopiert und ausgeführt mit
sudo sh skript.sh
, oder direkt in ein Terminal mit root-Rechten eingefügt.