通过脚本一键切换YUM源

#!/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

相关推荐
半条_虫15 小时前
豆包-网页逆向接口, 免token调用AI
python·ai·shell
爱码少年1 天前
Docker遍历镜像生成导出镜像命令六法
docker·shell
至乐活着6 天前
Shell脚本编写最佳实践:打造健壮、可维护的自动化利器
自动化·bash·shell·脚本·最佳实践
阿宇的技术日志8 天前
Shell、Terminal、CLI 三者清晰区分
shell·cli·terminal
zoipuus14 天前
上传repo仓库到自己的gitlab
linux·gitlab·shell·全志·tina
jieyucx14 天前
Shell实战:无限循环监控Nginx服务,异常自动重启+双份日志留存
linux·运维·nginx·自动化·shell
jieyucx16 天前
零基础通关:Shell 编程核心语法全景详解
linux·运维·编程·shell
Catherinemin19 天前
【Shell脚本】Shell echo 命令
shell
wok15720 天前
Claude Code 的 Shell 工具因中文参数导致 Exit Code 127,求解决方案
shell·claude
vortex520 天前
Shell 命令执行知识体系全景解析
linux·运维·bash·shell·命令行