新装 CentOS 7 切换 yum 源完整指南

问题背景

CentOS 7 在 2024 年正式结束生命周期(EOL),官方镜像源已停止维护。如果你在新安装的 CentOS 7 系统上使用 yum 安装软件,可能会遇到以下错误:

复制代码
Cannot find a valid baseurl for repo: base/7/x86_64

这是因为原有的 mirror.centos.org 镜像站点已经不再提供服务。本文将详细介绍如何手动修改 yum 源配置,切换到可用的 Vault 存档源。

什么是 Vault 源

Vault 是 CentOS 项目用于存档历史版本软件包的仓库。虽然 CentOS 7 已经 EOL,但其软件包仍然保存在 Vault 源中供用户使用。

解决方案:手动修改为 Vault 源

第一步:备份原有配置

在修改之前,先备份原有的源配置文件,以便出现问题时可以恢复:

bash 复制代码
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

第二步:编辑源配置文件

使用 vi 或其他文本编辑器打开配置文件:

bash 复制代码
vi /etc/yum.repos.d/CentOS-Base.repo

vi 编辑器操作提示:

  • i 键进入编辑模式
  • Esc 键退出编辑模式
  • 在命令模式下输入 :%d 清空文件内容
  • 输入 :wq 保存并退出

第三步:写入新的源配置

清空原文件内容后,将以下配置粘贴进去:

使用阿里云镜像源(推荐)
ini 复制代码
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
使用清华大学镜像源(备选)
ini 复制代码
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
使用中科大镜像源(备选)
ini 复制代码
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.ustc.edu.cn/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.ustc.edu.cn/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.ustc.edu.cn/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.ustc.edu.cn/centos-vault/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

第四步:清理并重建缓存

保存配置文件后,执行以下命令清理旧缓存并生成新的缓存:

bash 复制代码
# 清理所有 yum 缓存
yum clean all

# 重建缓存
yum makecache

如果执行成功,会看到类似以下输出:

复制代码
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Metadata Cache Created

第五步:验证配置

测试 yum 是否可以正常工作:

bash 复制代码
# 查看可用的仓库列表
yum repolist

# 尝试安装一个小工具测试
yum install -y wget

如果能够正常显示仓库列表并成功安装软件包,说明配置成功。

配置文件说明

各个仓库的作用

  • base:CentOS 基础软件包仓库,包含系统核心组件
  • updates:系统更新和安全补丁仓库
  • extras:额外的软件包,不在基础仓库中但由 CentOS 官方维护
  • centosplus:增强型软件包,提供额外功能(默认禁用)

配置参数解释

  • name:仓库的描述名称
  • baseurl:软件包的下载地址
  • gpgcheck=1:启用 GPG 签名验证,确保软件包安全
  • enabled=0:禁用该仓库(需要时用 --enablerepo 启用)
  • gpgkey:GPG 公钥的位置

7.9.2009 版本说明

7.9.2009 是 CentOS 7 的最后一个稳定版本:

  • 7:CentOS 主版本号
  • 9:第 9 个更新版本
  • 2009:发布于 2020 年 9 月

其他可用的国内镜像源

根据你的地理位置和网络环境,可以选择速度最快的镜像源:

镜像站 地址
阿里云 https://mirrors.aliyun.com/centos-vault/
清华大学 https://mirrors.tuna.tsinghua.edu.cn/centos-vault/
中科大 https://mirrors.ustc.edu.cn/centos-vault/
华为云 https://mirrors.huaweicloud.com/centos-vault/
网易 https://mirrors.163.com/centos-vault/

常见问题

Q1:为什么要使用 7.9.2009 而不是其他版本?

A:7.9.2009 是 CentOS 7 的最终稳定版本,包含了所有安全更新和补丁。

Q2:修改源后还能接收安全更新吗?

A:由于 CentOS 7 已经 EOL,不会再有新的安全更新。建议考虑迁移到 Rocky Linux 或 AlmaLinux。

Q3:可以混用不同镜像源吗?

A:可以,但建议使用同一个镜像站的源,以确保软件包版本的一致性。

Q4:如何测试哪个镜像源最快?

A:可以使用 ping 命令测试延迟:

bash 复制代码
ping -c 4 mirrors.aliyun.com
ping -c 4 mirrors.tuna.tsinghua.edu.cn
ping -c 4 mirrors.ustc.edu.cn

总结

修改 yum 源配置是解决 CentOS 7 软件包安装问题的有效方法。通过切换到国内的 Vault 镜像源,可以继续使用 CentOS 7 系统。但请记住,这只是权宜之计,长远来看应该规划系统升级或迁移方案。

操作步骤回顾:

  1. 备份原配置文件
  2. 编辑 /etc/yum.repos.d/CentOS-Base.repo
  3. 替换为 Vault 源地址
  4. 清理并重建缓存
  5. 验证配置是否成功

完成这些步骤后,你的 CentOS 7 系统就可以正常使用 yum 安装软件了。

相关推荐
辉的技术笔记28 分钟前
Dify 卡在入口?Gunicorn + Nginx 的正确打开方式
docker
用户83562907805117 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
用户83562907805117 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
辉的技术笔记21 小时前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
你好潘先生1 天前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师1 天前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码1 天前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf1 天前
FastAPI 如何连接 MySQL
后端·python
orion572 天前
Missing Semester Class1:course overview and introduction of shell
linux
apocelipes2 天前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境