centos如何更改系统yum

运维 · 2024-07-15

以下是linux更改yum的脚本,因为最近6.30号官方已经停止维护了,所以更改源刻不容缓
把下面脚本写入sh文件上传的root目录下,因为windows上传,需要更改一下换行符编码
用 ./name.sh进行运行

  #!/bin/bash
     
    # 定义颜色
    RED='\033[0;31m'
    GREEN='\033[0;32m'
    BLUE='\033[0;34m'
    NC='\033[0m' # 无颜色
     
    # 定义YUM源选项
    echo -e "${BLUE}请选择要更换的YUM源(默认使用阿里源):${NC}"
    echo -e "${BLUE}1) 阿里YUM源: http://mirrors.aliyun.com/repo/${NC}"
    echo -e "${BLUE}2) 163(网易)YUM源: http://mirrors.163.com/.help/${NC}"
    echo -e "${BLUE}3) 中科大Linux安装镜像源: http://centos.ustc.edu.cn/${NC}"
    echo -e "${BLUE}4) 搜狐的Linux安装镜像源: http://mirrors.sohu.com/${NC}"
    echo -e "${BLUE}5) 北京首都在线科技: http://mirrors.yun-idc.com/${NC}"
    read -p "请输入选项 [1-5] (默认1): " choice
     
    # 根据选择设置URL
    case $choice in
        2)
            repo_url="http://mirrors.163.com/.help/CentOS7-Base-163.repo"
            ;;
        3)
            repo_url="http://centos.ustc.edu.cn/CentOS-Base.repo"
            ;;
        4)
            repo_url="http://mirrors.sohu.com/help/CentOS-Base-sohu.repo"
            ;;
        5)
            repo_url="http://mirrors.yun-idc.com/CentOS-Base.repo"
            ;;
        *)
            repo_url="http://mirrors.aliyun.com/repo/Centos-7.repo"
            ;;
    esac
     
    # 备份当前的YUM源配置文件
    if [ -f /etc/yum.repos.d/CentOS-Base.repo ]; then
        sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
        echo -e "${GREEN}已备份当前的YUM源配置文件到 /etc/yum.repos.d/CentOS-Base.repo.bak${NC}"
    else
        echo -e "${RED}未找到 /etc/yum.repos.d/CentOS-Base.repo 文件,跳过备份步骤${NC}"
    fi
     
    # 下载选定的YUM源配置文件
    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo $repo_url
    if [ $? -eq 0 ]; then
        echo -e "${GREEN}成功下载选定的YUM源配置文件${NC}"
    else
        echo -e "${RED}下载选定的YUM源配置文件失败,请检查网络连接${NC}"
        exit 1
    fi
     
    # 清除YUM缓存并生成新的缓存
    sudo yum clean all
    sudo yum makecache
     
    # 验证新的YUM源配置是否成功
    sudo yum repolist -y
    if [ $? -eq 0 ]; then
        echo -e "${GREEN}新的YUM源配置成功${NC}"
    else
        echo -e "${RED}新的YUM源配置失败,请检查YUM源配置文件${NC}"
        exit 1
    fi
     
    # 下载并配置EPEL源
    sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    if [ $? -eq 0 ]; then
        echo -e "${GREEN}成功下载并配置EPEL源${NC}"
    else
        echo -e "${RED}下载EPEL源失败,请检查网络连接${NC}"
        exit 1
    fi
     
    echo -e "${GREEN}YUM源更换并配置EPEL源成功${NC}"
     
    # 提示用户是否需要进行系统更新
    read -p "是否需要进行系统更新(默认不更新)?[y/N]: " update_choice
    if [[ "$update_choice" =~ ^[Yy]$ ]]; then
        sudo yum upgrade -y
        if [ $? -eq 0 ]; then
            echo -e "${GREEN}依赖包更新成功${NC}"
        else
            echo -e "${RED}依赖包更新失败${NC}"
        fi
    else
        echo -e "${GREEN}跳过系统更新${NC}"
    fi
centos
Theme Jasmine by Kent Liao