-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcheck_installed_rpms
58 lines (47 loc) · 1.18 KB
/
check_installed_rpms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#! /bin/sh
#----------------------------------------------------------------------
# Description: a nifty script to verify all installed RPM
#
# Author: Artem S. Tashkinov <>
# Created at: 2010-04-08 01:11:18
#
# Copyright (c) 2010 Artem S. Tashkinov. All rights reserved.
#----------------------------------------------------------------------
echo "Running ... "
logf=/tmp/RPM-V.$RANDOM$RANDOM
cat > $logf << EndOfMessage
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
EndOfMessage
r[0]='-'
r[1]='\'
r[2]='|'
r[3]='/'
r[4]='-'
r[5]='\'
r[6]='|'
r[7]='/'
j=0
n=1
total=`rpm -qa | wc -l`
for i in `rpm -qa | sort`; do
p=$((n*100/total))
echo -en "\r${r[$j]} $n [$p%]"
RES=`nice -20 rpm -V "$i"`
if [ -n "$RES" ]; then
echo "******************** $i ********************" >> $logf
echo "$RES" >> $logf
fi
n=$((n+1))
j=$((j+1))
test $j -gt 7 && j=0
done
echo
echo "Done. $n packages verified. See log here: $logf"