最近接触的系统多数为rhelrhel自带的yum又不能联网安装,于是写了个一键安装的脚本,支持rhel5.x&rhel6.x,选用的是网易的源。

#!/bin/sh
#author by thundermeng

. /etc/init.d/functions
bit=`getconf LONG_BIT`
release=`sed -r -n 's/(.*) ([[:digit:]])\.([[:digit:]]) (.*)/\2/p' /etc/redhat-release`

if [ $UID -ne 0  ]
then
  echo "Please use root exec this shell"
  exit 1
fi

[ `rpm -qa |grep yum|wc -l` -ge 1  ] && { 
rpm -qa |grep yum | xargs rpm -e --nodeps
} 

[ -e /tmp/yumupdate ] || mkdir /tmp/yumupdate
cd /tmp/yumupdate

rehl5() 
{
wget http://mirrors.163.com/.help/CentOS5-Base-163.repo -P /etc/yum.repos.d/
sed -i "s/\$releasever/5/g" /etc/yum.repos.d/CentOS5-Base-163.repo

case $bit in
  32)
    wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm
    rpm -ivh yum-metadata-parser-1.1.2-4.el5.i386.rpm --nodeps
    ;;
  64)
    wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
    rpm -ivh yum-metadata-parser-1.1.2-4.el5.x86_64.rpm --nodeps
    ;;
esac

wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-updatesd-0.9-6.el5_10.noarch.rpm

rpm -ivh yum-3.2.22-40.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
rpm -ivh yum-updatesd-0.9-6.el5_10.noarch.rpm
}

rehl6() 
{
#cd rehl6
#cp CentOS-Base.repo /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -P /etc/yum.repos.d/
sed -i "s/\$releasever/6/g" /etc/yum.repos.d/CentOS6-Base-163.repo

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm

case $bit in
  32)
    wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
    rpm -ivh yum-metadata-parser-1.1.2-16.el6.i686.rpm
    ;;
  64)
    wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
    rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
    ;;
esac

wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.2.29-60.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm                                          
                                             
rpm -ivh yum-3.2.29-60.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
}

if [ $release -eq 6  ]
  then	
    rehl6
elif [ $release -eq 5 ]
  then
    rehl5
else
    echo "This System Release Not Support!"
fi
		
if [ $? -eq 0  ]
  then
  action "yumupdate is sucessed" /bin/true
  else
  action "yumupdate is failed" /bin/false
  exit 1
fi
rm -rf /tmp/yumupdate
yum clean all
yum repolist