红联Linux门户
Linux帮助

RHEL5.x&RHEL6.x更换CentOS yum源

发布时间:2015-02-16 09:52:17来源:linux网站作者:thundermeng

最近接触的系统多数为RHEL,RHEL自带的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