时间不会亏待努力的人
安装Oracle 11g,需要安装rpm依赖包,根据Oracle官网介绍,需要安装的rpm包是一定的,但是这些依赖包可能会根据系统的不同依赖不同的其他安装包,所以有时候不注意检查的话,可能会造成后面无法顺利进行,所以,为了确保所有依赖包已经安装成功,故写下一个检查脚本,只需要在rpm安装后执行即可。
rpmCheckSh
#!/bin/sh
count=0
arr=( binutils-2* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-0.* elfutils-libelf-devel-static-0.* gcc-4.* gcc-c++-4* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2* kernel-headers-2.* ksh-* libaio-0.* libaio-devel-0.* libgcc-4.* libgomp-4.* libstdc++-4.* libstdc++-devel-* make-* numactl-devel-* sysstat-* )
len=${#arr[@]}
for((i=0;i<len;i++));
do
char=${arr[$i]}
rpm -qa | grep "^$char"
if [ $? != 0 ] ; then
error[$count]=${arr[$i]}
count=$(($count+1))
echo "+++++++++++++++the ${arr[$i]}^is not installed++++++++++++++++++"
fi
done
if [ $count -lt "0" ];then
echo "You have $count patchs are not installed."
echo "the not installed patch is:"
len1=${#error[@]}
for((ii=0;ii<len1;ii++));
do
echo "${error[$ii]}^"
done
echo -e "Are you sure to install the patch[yes or no]:\c"
read select
if [ $select == "yes" ]; then
for((is=0;is<len1;is++));
do
var=${error[$is]}
rpm -ivh ./patch/$var.rpm
done
fi
else
echo "++++++++++++++++++++++CHECK PASS!+++++++++++++++++++++++++++"
fi
count=0
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat \
unixODBC unixODBC-devel | grep "not installed"
chmod 755 rpmCheckSh