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

相关推荐
Kyan.W1 天前
shell好用的工具
linux·shell
meijinmeng9 天前
Monit-基于非容器服务自恢复程序实践
shell·监控
努力的小帅10 天前
Linux_进程控制(Linux入门到精通)
linux·网络·shell·进程创建·linux入门
saber_andlibert15 天前
【Linux】Shell脚本
运维·chrome·vscode·编辑器·vim·shell
岚天start21 天前
解决方案—K8S集群的日志按天并按照命名空间分类定时同步到日志服务器
服务器·docker·kubernetes·shell·日志备份
aitav023 天前
⚡ Linux awk 命令全面详解(包括记录、字段、命令空间)
linux·运维·服务器·bash·shell·awk
VincentHe1 个月前
当 ServerCat 遇上 Shell 环境变量:一次服务器监控性能优化记录与探索
服务器·shell·监控
虚伪的空想家1 个月前
ip网段扫描机器shell脚本
android·linux·网络协议·tcp/ip·shell·脚本·network
谅望者1 个月前
Linux文件查看命令完全指南:cat、less、head、tail、grep使用详解
linux·excel·less·shell·文件操作·命令行·系统运维