#!/bin/bash
#主菜单函数
show_main(){
echo "云服务切换工具"
echo "注意:切换前会进行本地repo文件备份,请放心"
echo "1.切换到阿里云"
echo "2.切换到华为云"
echo "3.退出"
echo -n "请选择操作(1-3)"
}
yum_ali(){
echo "正在切换阿里源"
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2>/dev/null && echo "repo文件已备份"
if wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo;then
echo "阿里repo切换成功"
yum clean all && yum makecache
else
echo "切换失败,还原repo文件"
cp /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo &>/dev/null
echo "已还原"
yum clean all && yum makecache
fi
}
yum_huawei(){
echo -e "\n正在切换到华为 yum 源..."
1. 备份原有 repo 文件
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2>/dev/null && echo "repo 文件已备份为 CentOS-Base.repo.bak"
2. 下载华为云 CentOS 7 源(官方正确 URL)
if wget -q -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo; then
echo "华为云 repo 文件下载成功"
3. 清理并生成 yum 缓存
echo "正在生成 yum 缓存..."
yum clean all &>/dev/null
yum makecache fast &>/dev/null
echo "华为 yum 源切换完成!"
else
echo "华为 repo 文件下载失败(请检查网络或 URL 有效性)"
恢复备份
mv /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo 2>/dev/null && echo "已恢复原 repo 文件"
fi
}
#主循环
while true;do
show_main
read choice
case $choice in
yum_ali
;;
yum_huawei
;;
echo "退出程序"
exit 0
;;
*)
echo "输入有误,请重新输入数字1-3"
;;
esac
echo -n "按ENTER键继续"
read
done