centos7切换国内源脚本--亲测可用

以下脚本由我学生提交,亲测可用,可以轻松实现切换国内源,按自己喜好拷贝使用其中之一即可。

#!/bin/bash
#function:练习
#author:ming 20220614
if 
   [ ! -e /root/yum.repos.d ]
then
    mkdir /root/yum.repos.d
fi
   cp -rf /etc/yum.repos.d/* /root/yum.repos.d
   rm -rf /etc/yum.repos.d/*
ali_yum() {
         wget -O /etc/yum.repos.d/aliyun.repo http://mirrors.aliyum.com/repo/Centos-7.repo
         yum clean all
         yum makecache
      }
wy_yum() {
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
        yum clean all
        yum makecache
      }
huawei_yum() {
        wget -O /etc/yum.repos.d/huaweicloud.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
        yum clean all
        yum makecachecd 
      }
re_yum() {
        cp -rf /root/yum.repos.d/* /etc/yum.repos.d
        rm -rf /root/yum.repos.d/*
        yum clean all
        yum makecache
      }
echo "YUM源有:ali  wy  huawei  re"
read -p "请输入一个yum源并按Enter键确认:"  YUM 
case "$YUM" in
      ali) 
      echo "你选择的是阿里云yum源,将开始为你配置"
      ali_yum
      ;;
      wy)
      echo "你选择的是网易yum源,将开始为你配置"
      wy_yum
      ;;
      huawei)
      echo "你选择的是阿里云yum源,将开始为你配置"
      huawei_yum
      ;;
      re)
      echo "你选择的是初始源,将开始为你配置"
      re_yum
      ;;
*)
      echo "你输入的是其他选择,现在只能选择这些"
esac
yum install -y httpd &> /dev/null
        if [ $? -eq 0 ]
            then
        echo "配置完成"
fi
#/bin/bash
#function:却换源
#author:tommypeng  20220623
wget=$(rpm -qa |grep wget)   
if [ $? -eq 0 ]
then
    echo "软件包wgat已安装即将进入下一步"
else
yum install wget -y
    echo "即将安装wget软件包"
fi
read -p "请输入需要却换的yum源的序号,如1.本地源、2.阿里云镜像源、3.163镜像源、4.华为镜像源:" qh
case "$qh" in
    1)
    echo "您选择的是本地源,即将开始切换."
#创建本地源文件夹
mkdir /mnt/ncw                 
#指定挂载镜像目录   
mount /dev/cdrom /mnt/ncw  
#检测是否挂载成功
if [ $? -eq 0 ];then
echo "挂载成功,即将进入下一步"
else
echo "挂载失败,请检查是否已挂载或路径错误"
fi  
#备份原本地源   
cp -rf /etc/yum.repos.d  /etc/yum.repos.d_$(date '+%Y%m%d_%H%M%S')   
#进入yum目录删除默认原本地源
rm -f /etc/yum.repo.d/*
#创建local.repo文件
touch local.repo
 echo "[local]" > /etc/yum.repos.d/local.repo
echo "name=local" >> /etc/yum.repos.d/local.repo
echo "baseurl=file:///mnt/ncw" >> /etc/yum.repos.d/local.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/local.repo
echo "enabled=1" >> /etc/yum.repos.d/local.repo
#更新yum配置
yum clean all
yum makecache
    ;;
    2)
    echo "您选择的是阿里云镜像源,即将开始切换."
#切换到yum的安装目录
cd /etc/yum.repos.d/
#备份原文件
cp -rf /etc/yum.repos.d  /etc/yum.repos.d_$(date '+%Y%m%d_%H%M%S')
#下载阿里云镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
#清理yum的已有缓存
yum clean all
#生产yum的缓存
yum makecache
    ;;
    3)
echo "您选择的是163网易镜像源,即将开始切换"
#备份原文件
cp -rf /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_$(date '+%Y%m%d_%H%M%S')
#下载163镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清理yum的已有缓存
yum clean all
#生产yum的缓存
yum makecache
     ;;
     4)
     echo "您选择的是华为镜像源,即将开始切换"
#备份原文件
cp -rf /etc/yum.repos.d  /etc/yum.repos.d_$(date '+%Y%m%d_%H%M%S')
#下载华为镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
#清理yum的已有缓存
yum clean all
#生产yum的缓存
yum makecache
     ;;
    *)
    echo "请输入正确的序列号"
esac

#!/bin/bash



     #yum install -y "wget"  >> /dev/null

     cd /etc/yum.repos.d
	 rm -rf /etc/yum.repos.d/*

read -p "请输入要安装的yum源(ali|163|huawei|re|qhdx):"  Y

case "$Y" in

ali)
		cd /etc/yum.repos.d
		rm -rf /etc/yum.repos.d/*
        echo "正在安装yum阿里云"
        wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo   &> /dev/null
		
	if [ $? -eq 0 ];then

		echo "yum阿里云已安装完成"
		
	else
	
		echo "yum阿里云安装失败"
			
	fi
        	
		yum clean all  &> /dev/null

    if [ $? -eq 0 ];then

        echo "yum缓存已清除"
    else

        echo "yum缓存清除失败"

    fi


    yum makecache &> /dev/null

    if [ $? -eq 0   ];then

        echo "yum已更新"

    else

        echo "yum更新失败"

    fi ;;
huawei)

		cd /etc/yum.repos.d
		rm -rf /etc/yum.repos.d/*

		wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo
		echo "正在切换华为云yum源"
		
		
		
		if [ $? -eq 0 ];then

		echo "华为云yum源已安装完成"
		
	else
	
		echo "华为云yum源安装失败"
			
	fi
		
		yum clean all  &> /dev/null

    if [ $? -eq 0 ];then

        echo "yum缓存已清除"
    else

        echo "yum缓存清除失败"

    fi


    yum makecache &> /dev/null

    if [ $? -eq 0   ];then

        echo "yum已更新"

    else

        echo "yum更新失败"

    fi ;;
	
163)


		cd /etc/yum.repos.d
		rm -rf /etc/yum.repos.d/*
		
		wget -O  /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.163.com/.help/CentOS7-Base-163.repo
			if [ $? -eq 0 ];then

		echo "163yum源已安装完成"
		
	else
	
		echo "163yum源安装失败"
			
	fi
		
		yum clean all  &> /dev/null

    if [ $? -eq 0 ];then

        echo "yum缓存已清除"
    else

        echo "yum缓存清除失败"

    fi


    yum makecache &> /dev/null

    if [ $? -eq 0   ];then

        echo "yum已更新"

    else

        echo "yum更新失败"

    fi ;;

re)
	cd /etc/yum.repos.d
	rm -rf /etc/yum.repos.d/*
	touch local.repo
cat >> /etc/yum.repos.d/local.repo << EOF
[local]
name=zwz
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF


	umount /dev/cdrom

	mount /dev/cdrom /mnt




	yum clean all  &> /dev/null

	if [ $? -eq 0 ];then

        echo "yum缓存已清除"
	else

        echo "yum缓存清除失败"

	fi


	yum makecache &> /dev/null

	if [ $? -eq 0   ];then

        echo "yum已更新"

	else

        echo "yum更新失败"

	fi ;;
	
	
	
qhdx)

		wget -O /etc/yum.repos.d/CentOS-Base.repo  https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo --no-check-certificate
if [ $? -eq 0   ];then
	 echo "qhdxyum源已安装完成"
		
	 else
	
		echo "qhdxyum源安装失败"
			
	fi
		
		yum clean all  &> /dev/null

    if [ $? -eq 0 ];then

        echo "yum缓存已清除"
    else

        echo "yum缓存清除失败"

    fi


    yum makecache &> /dev/null

    if [ $? -eq 0   ];then

        echo "yum已更新"

    else

        echo "yum更新失败"

    fi ;;
	
*)

	echo "用法: 脚本(./yum.sh)+{ali|huawei|163|re|qhdx}" 
    echo "ali (阿里云yum源)  |  huawei(华为云yum源)  |  163(网易yum源)  |  re(本地yum源)  |  qhdx(清华大学yum源))"

esac
#!/bin/bash
echo "备份本地yum源,第一次执行备份,之后请选择no否则会出现问题"
echo "1为 YES"
echo "2为 NO"
until [[ "$choice" =~ ^[1-2]$ ]] 
do
echo "请选择 1 or 2" 
read -rp "choice [1-2]:" -e  choice 
done
if [ "$choice" == 1 ]  
then
mkdir /etc/tomgoud
cp /etc/yum.repos.d/*   /etc/tomgoud/
echo "备份成功,如果本次不是第一次,那么去/etc/tomgoud中多出的文件删除!!!"
else
echo "退出备份,如果本次是部署第一次,如果是那么退出脚本,重新备份!!!"
fi
ping -c 2 www.baidu.com
if  [ $?  =  0 ]
then
echo  "外网连接成功"
else
echo "外网连接失败,将退出脚本"
exit
fi
wyyum() {
rm -rvf /etc/yum.repos.d/*
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all 
yum makecache
yum repolist
}
alyum() {
rm -rvf /etc/yum.repos.d/*
wget   http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all 
yum makecache
yum repolist
}
bdiyum() {
rm -rvf /etc/yum.repos.d/*
cp    /etc/tomgoud/*  /etc/yum.repos.d/
yum clean all 
yum makecache
yum repolist
}
read -p  "选择安装yum源
1:网易
2:阿里
3:本地:" qwe
case   "$qwe" in 
1)
wyyum
;;
2)
alyum
;;
3)
bdiyum
;;
esac
if [ $? = 0 ]
then
echo "安装完成"
else  
echo "安装失败"
fi

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT大白鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值