Centos自动修改为本地源脚本

下面脚本可以自动识别Centos是5、6还是7版本,添加不同版本的源

#!/bin/bash

ARCH=`/usr/bin/getconf LONG_BIT`
REPOD="/etc/yum.repos.d"
OSVER=`/bin/awk -F "[ .]" '{print $3}' /etc/redhat-release`
OSVER7=`/bin/awk -F "[ .]" '{print $4}' /etc/redhat-release`
if [ "$(ls -A $REPOD)" ] ; then
[ -d ${REPOD}/repos.old ] || /bin/mkdir ${REPOD}/repos.old
/bin/mv ${REPOD}/*.repo ${REPOD}/repos.old/ -f
fi

if [ ${ARCH}x == 64x -a ${OSVER}x == 5x ] ; then
/bin/cat >>${REPOD}/CentOS-Base.repo <<EOF
[base]
name=CentOS-\$releasever - Base
baseurl=http://xx.xx.xx.xx/5/os/x86_64
gpgcheck=0

[updates]
name=CentOS-\$releasever - Updates
baseurl=http://xx.xx.xx.xx/5/updates/x86_64
gpgcheck=0

[extras]
name=CentOS-\$releasever - Extras
baseurl=http://xx.xx.xx.xx/5/extras/x86_64
gpgcheck=0
EOF

elif [ ${ARCH}x == 64x -a ${OSVER}x == 6x ] ; then
/bin/cat >>${REPOD}/CentOS-Base.repo <<EOF
[base]
name=CentOS-\$releasever - Base
baseurl=http://xx.xx.xx.xx/6/os/x86_64
gpgcheck=0

[updates]
name=CentOS-\$releasever - Updates
baseurl=http://xx.xx.xx.xx/6/updates/x86_64
gpgcheck=0

[extras]
name=CentOS-\$releasever - Extras
baseurl=http://xx.xx.xx.xx/6/extras/x86_64
gpgcheck=0
EOF

elif [ ${ARCH}x == 64x -a ${OSVER7}x == 7x ] ; then
/bin/cat >>${REPOD}/CentOS-Base.repo <<EOF
[base]
name=CentOS-\$releasever - Base
baseurl=http://xx.xx.xx.xx/7/os/x86_64
gpgcheck=0

[updates]
name=CentOS-\$releasever - Updates
baseurl=http://xx.xx.xx.xx/7/updates/x86_64
gpgcheck=0

[extras]
name=CentOS-\$releasever - Extras
baseurl=http://xx.xx.xx.xx/7/extras/x86_64
gpgcheck=0
EOF
else
echo "only support CentOS[5/6/7].x86_64"
exit 1
fi

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: