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

相关推荐
qq_3750133315 小时前
shell
shell
Strugglingler2 天前
基于whiptail开发shell导航工具
linux·shell·ui设计·whiptail
亚林瓜子3 天前
AWS Glue Python Shell中获取外网ip
python·tcp/ip·http·shell·aws·vpc·glue
爱凤的小光3 天前
GDB调试技巧与指令完全指南---个人学习篇
shell·gdb
亚林瓜子3 天前
AWS Glue Python Shell任务中pip安装依赖库
python·shell·pip·aws·glue·job
亚林瓜子3 天前
AWS Glue Python Shell任务中读取Athena数据库
数据库·python·shell·aws·glue·athena
SilentSamsara4 天前
Linux磁盘与存储管理:分区、LVM 与 IO 性能全栈分析
linux·运维·服务器·ssh·shell
pluvium277 天前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
ShineWinsu10 天前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作
Cyber4K11 天前
【Shell专项】循环及交互的使用
linux·shell