Oracle依赖包rpm安装检查

时间不会亏待努力的人

安装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;ido 
        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;iido 
                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;isdo 
                        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

你可能感兴趣的:(Oracle学习笔记)