通过脚本一键切换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

相关推荐
吴声子夜歌2 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
吴声子夜歌1 天前
Shell编程实例——内务及管理任务(一)
linux·运维·shell
吴声子夜歌1 天前
Shell编程实例——高级脚本编程(一)
linux·运维·网络·shell
吴声子夜歌2 天前
Shell编程实例——bash的配置与自定义(二)
linux·运维·shell
吴声子夜歌2 天前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
吴声子夜歌3 天前
Shell编程实例——脚本编程的附加特性
linux·运维·shell
云计算练习生3 天前
什么是内核?操作系统内核到底管哪些事
linux·windows·操作系统·内核·shell
吴声子夜歌5 天前
Shell编程实例——bash入门
linux·运维·shell
Swizard6 天前
Linux 日志神器 journalctl 完全指南:彻底替代传统日志查看方式
shell
吴声子夜歌6 天前
Shell编程——数组
linux·运维·shell