日期:2014-05-16  浏览次数:20784 次

Linux下oracle11g安装所需要软件包的检测与安装
1 首先在执行脚本之前,你需要把所有需要的包提出出来,然后放到一个名为patch的文件夹下,这个文件夹要和脚本程序在同一个目录下就可以

2 把下面的脚本内容copy到linux下,新建一个脚本文件,然后执行就可以了,

脚本的内容如下:

#!/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

最后安装好包后,可以在执行下这个脚本的内容,然后会显示CHECK PASS,完成检测及安装程序包的工作