Discussione interessante.
Propongo uno scriptino per distribuzioni Debian based.
Reinstallare tutti i .deb che inseriscono almeno un file nella cartella data come argomento.
Utile in caso di maldestri rm o altri disastri assortiti.
Codice:
#!/bin/bash
FOLDER="$1"
if [ -z "$FOLDER" ]; then
echo "Utilizzo:"
echo -e "$(basename $0) [cartella]\n\noppure (piuttosto inutile)\n\n$(basename $0) [file]"
exit 1
fi
if [ -z "`which apt-file`" ]; then
echo -e "Installare apt-file!\n\napt-get install apt-file\napt-file update\n\n"
exit 1
fi
if [ "$(id -u)" != "0" ]; then
echo "Questo script dev'essere eseguito come root!" 1>&2
exit 1
fi
PKGS=`comm -12 <(apt-file search $FOLDER | sed 's/\([^: ]*\).*/\1/' | uniq | sort) \
<(dpkg --get-selections | grep -E \[\[:blank:\]\]install\$ | sed 's/\([^\t ]*\).*/\1/' | uniq | sort)`
apt-get install --reinstall ${PKGS}