...bin mal wieder vor dem Rechner eingeschlafen, und seit neuerem zerblaesst es mir staendig irgendwelche Libraries (war frueher echt nicht so) wenn auf einmal der Saft aus dem Akku ist.
In nem Thread war mir dann gesagt worden das koenne man ja ueber md5sum-Checks ausbuegeln, hier mein Script:
Code: Alles auswählen
#!/bin/sh
echo
pool=`mktemp`
echo "$pool <- Package supported md5sums"
fails=`mktemp`
echo "$fails <- crushed Files"
rewind=`mktemp`
echo "$rewind <- Packages of crushed Files"
if test -z $2
then
prefix=/
else
prefix=$2
fi
echo
echo -n Bring up filelist...
for i in `find /var/lib/dpkg/info -regex .*md5sums$`
do
cat $i
done > $pool
echo done.
echo
echo Doing md5sum filetests...this may take some time...
echo
count=0
cat $pool | while read i
do
file=`echo $i | cut -b 34-`
sum=`echo $i | cut -b -32`
ref=`md5sum "/$file" | cut -b -32`
let count=$count+1
echo -ne "\rFile number $count"
if ! test "$sum" = "$ref"
then
echo $file failed...
echo $sum
echo $ref
echo $file >> $fails
fi
done
echo
echo done.
for i in `cat $fails`
do
dpkg -S "$i" | cut -d: -f 1
done | sort | uniq > $rewind
if test -s $rewind
then
echo
echo Have a List of crushed Packages...we can go on:
for i in `cat $rewind`
do
echo
read -p "Reinstall Package >$i< ? [Return=ok]"
if test -z $REPLY
then
apt-get -y --reinstall install $i
fi
done
else
echo
echo No default Installation-Files seem broken - check your Configuration or optional installed Software.
fi
echo
read -p "Removing temporary filelists? [Return=ok]"
if test -z $REPLY
then
rm -rf $fails $rewind $pool
fi
echo
echo done.
echo
Interessant waere auch eine Pruefung gewisser Zugriffsrechte weil ich erst Gestern >4 Stunden damit zubrachte festzustellen das das entpacken eines cpio-Files (worin alte Konfigurationen archiviert waren) nach /etc dessen MODE-Werte veraenderte, und gdm nur noch Kloetzchen anstelle von Buchstaben anzeigte.
cheers
chabayo