Ich mag Bash Pornos, also habe ich dir ein Geschenk geschrieben:
for p in `dpkg -l | awk '/^ii [^\ ]+/ {print $2}'`; do
if [[ $(dpkg -L $p | grep /usr/share/icons/) ]]; then
echo $p;
fi;
done
Das spiegelt alle installierten Pakete wider, in denen Dateien enthalten waren /usr/share/icons/. Wenn das für Sie funktioniert (für mich), können Sie die Echo-Anweisung ersetzen durch:
sudo apt-get --reinstall install $p
Es wird viel Bandbreite verbrauchen und was auch immer Sie tun, unterbrechen Sie es nicht, aber es sollte Ihnen alle Ihre verpackten Symbole zurückgeben.
Natürlich können Sie diese Logik umkehren, so dass Sie Folgendes verwenden:
sudo apt-get --reinstall -s install $(for p in `dpkg -l | awk '/^ii [^\ ]+/ {print $2}'`; do if [[ $(dpkg -L $p | grep /usr/share/icons/) ]]; then echo $p; fi; done)
Das -sdrin bedeutet Simulationsmodus. Dieser Befehl führt nur dann etwas aus, wenn Sie den Befehl entfernen -s. Er zeigt Ihnen nur, was er tun würde. Ich würde das wahrscheinlich empfehlen, bevor Sie hineinspringen.
Wie Andrea betont, dpkg -Skann dies alles alleine geschehen. Außerdem geht es viel schneller.
sudo apt-get -s --reinstall install `dpkg -S /usr/share/icons/ | sed 's/,//g; s/\:.*$//'`