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

相关推荐
啥都不懂的小小白12 小时前
Shell脚本编程入门:从零基础到实战掌握
前端·shell
dingdingfish4 天前
GNU Parallel 学习 - 第1章:How to read this book
bash·shell·gnu·parallel
似霰7 天前
Linux Shell 脚本编程——核心基础语法
linux·shell
似霰8 天前
Linux Shell 脚本编程——脚本自动化基础
linux·自动化·shell
偷学技术的梁胖胖yo9 天前
Shell脚本中连接数据库查询数据报错 “No such file or directory“以及函数传参数组
linux·mysql·shell
纵有疾風起18 天前
【Linux 系统开发】基础开发工具详解:软件包管理器、编辑器。编译器开发实战
linux·服务器·开发语言·经验分享·bash·shell
gis分享者20 天前
Shell 脚本中如何使用 here document 实现多行文本输入? (中等)
shell·脚本·document·多行·文本输入·here
柏木乃一20 天前
基础IO(上)
linux·服务器·c语言·c++·shell
angushine20 天前
CPU脚本并远程部署
shell
赵民勇25 天前
Linux/Unix中install命令全面用法解析
linux·shell