🎯 目标

将 CentOS 7 的默认 YUM 源更换为 阿里云 提供的镜像源,提升软件包安装与更新速度。


🧰 操作步骤概览

  • 备份原有 repo 文件
  • 下载阿里云 CentOS 7 源配置
  • 替换 $releasever7
  • 清除并重建 YUM 缓存
  • 验证仓库是否正常

📦 一键生成 Shell 脚本命令(推荐)

直接运行以下命令,即可自动生成脚本文件并执行

cat << 'EOF' > /tmp/change_yum_to_aliyun.sh && chmod +x /tmp/change_yum_to_aliyun.sh && /tmp/change_yum_to_aliyun.sh
#!/bin/bash

RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'

echo -e "${GREEN}开始替换 CentOS 7 的 YUM 源为阿里云...${NC}"

cd /etc/yum.repos.d/ || { echo -e "${RED}无法进入目录 /etc/yum.repos.d/${NC}"; exit 1; }

BAK_DIR="/etc/yum.repos.d/backup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BAK_DIR"

cp *.repo "$BAK_DIR/" 2>/dev/null
echo -e "${GREEN}已备份原有 repo 文件到 ${BAK_DIR}${NC}"

rm -f *.repo
echo -e "${GREEN}已清理旧的 .repo 文件${NC}"

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
if [ $? -ne 0 ]; then
    echo -e "${RED}下载阿里云 repo 文件失败,请检查网络连接${NC}"
    exit 1
fi
echo -e "${GREEN}已成功下载阿里云 CentOS 7 的 repo 文件${NC}"

sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
echo -e "${GREEN}已替换 \$releasever 为 7${NC}"

yum clean all >/dev/null 2>&1
echo -e "${GREEN}已清除旧的 YUM 缓存${NC}"

yum makecache >/dev/null 2>&1
echo -e "${GREEN}已生成新的 YUM 缓存${NC}"

yum repolist >/dev/null 2>&1
if [ $? -eq 0 ]; then
    echo -e "${GREEN}YUM 源更换成功,当前可用仓库如下:${NC}"
    yum repolist
else
    echo -e "${RED}YUM 源更换失败,请检查网络或 repo 文件配置${NC}"
    exit 1
fi

echo -e "${GREEN}YUM 源已成功更换为阿里云!${NC}"
EOF

✅ 只需复制上面这一整段命令粘贴到终端中回车即可自动创建并运行脚本。


🔍 验证结果

脚本执行完成后,你可以手动验证:

yum repolist

如果输出类似如下内容,则表示更换成功:

repo id      repo name                             status
base         CentOS-7 - Base - mirrors.aliyun.com   10,019
updates      CentOS-7 - Updates - mirrors.aliyun.com  1,567
...