对于许多在中国大陆地区使用CentOS服务器的开发者和系统管理员而言,软件包的下载速度和稳定性是日常运维中一个不可忽视的问题,CentOS默认的官方源位于海外,导致在进行yum安装或更新操作时,常常会遇到速度缓慢、连接中断甚至失败的情况,为了解决这一痛点,将系统源更换为地理位置更近、网络链路更优的国内镜像源是一个高效且普遍的解决方案,阿里巴巴提供的开源镜像站(Aliyun Mirrors)因其速度快、同步及时、服务稳定而备受青睐,本文将详细介绍如何将CentOS系统的源更新为阿里云源,以提升软件包管理的效率。

准备工作
在开始操作之前,请确保您具备以下条件:
- 管理员权限:您需要拥有
root权限或通过sudo执行命令的权限。 - 网络连接:服务器必须能够正常访问互联网。
- 确认系统版本:不同版本的CentOS需要使用不同的源文件,您可以通过以下命令查看您的CentOS版本:
cat /etc/centos-release
更换源的详细步骤
整个过程分为四个核心步骤:备份原有源、下载新源、清理缓存、验证更新,请严格按照步骤执行,以确保操作的安全性和成功性。
第一步:备份原有的源文件
这是一个至关重要的安全习惯,在修改任何系统配置文件之前,先进行备份,以便在出现意外时可以快速恢复。
执行以下命令,将默认的CentOS-Base.repo文件重命名备份:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
如果该文件不存在,也不用担心,这通常意味着您可能已经更换过源或者使用的是最小化安装。
第二步:下载新的阿里云源文件
根据您的CentOS版本,使用wget命令下载对应的阿里云源配置文件,并覆盖到指定目录,下表列出了主流CentOS版本的下载命令:
| CentOS 版本 | 下载命令 |
|---|---|
| CentOS 7 | wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo |
| CentOS 8 | wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo |
请注意:CentOS 8已于2021年底结束生命周期(EOL),官方源已停止维护,阿里云镜像站将其归档至“vault”仓库,上述命令提供的是CentOS 8.5.2111版本的vault源,对于仍在使用CentOS 8的用户来说,这是最可靠的选项。

第三步:清理缓存并生成新缓存
源文件更新后,需要清理掉旧的yum缓存,并重新生成指向新源的缓存数据。
-
清理所有缓存:
yum clean all
此命令会清除
/var/cache/yum/目录下的所有缓存文件。 -
生成新的缓存:
yum makecache
yum会读取新的CentOS-Base.repo文件,从阿里云镜像站获取软件包信息,并在本地创建缓存,这个过程会花费一些时间,取决于您的网络速度。
第四步:验证更新是否成功
最后一步是验证我们的操作是否生效,执行以下命令,查看当前系统已启用的软件源:
yum repolist
在命令的输出结果中,您应该能看到仓库列表的repo id或baseurl中包含mirrors.aliyun.com的地址,这表明您的CentOS系统已经成功切换到阿里云源,后续的软件安装和更新操作都将通过该镜像源进行。

相关问答 (FAQs)
执行wget命令时提示“无法解析主机地址”或连接超时怎么办?
解答:这个问题通常由两个原因导致,首先是网络连接问题,请确保您的服务器可以正常访问互联网,其次是DNS解析问题,您可以尝试ping mirrors.aliyun.com,如果无法解析,请检查服务器的DNS配置(通常在/etc/resolv.conf文件中),可以临时设置为公共DNS,如114.114.114或8.8.8后再试,也请检查防火墙或安全组策略是否限制了出站HTTP/HTTPS流量。
我的系统是CentOS 8 Stream,也可以使用上述CentOS 8的源吗?
解答:不可以,CentOS 8 Stream与CentOS 8是两个不同的发布模式,它们的软件仓库内容也不同,为CentOS 8 Stream系统更换源,需要下载其专用的repo文件,正确的命令应该是:
wget -O /etc/yum.repos.d/CentOS-Stream-Base.repo https://mirrors.aliyun.com/repo/Centos-8-stream.repo
请务必根据您的实际系统版本(CentOS Linux, CentOS Stream, CentOS Vault等)选择对应的源文件,否则会导致软件包依赖混乱和安装失败。