目录
CentOS 7的生命周期已经在2024年6月30日终止(End of Life,EOL),官方将不再对该版本进行问题修复、功能更新以及其他形式的维护支持。这意味着使用 CentOS 7 的用户将面临安全漏洞无法得到修补的风险,同时随着其他软件的更新,可能会出现不兼容的情况。
问题和解决方法
随着 CentOS 7的生命周期结束,mirrorlist.centos.org 也不再提供服务。因为 mirrorlist.centos.org 是 CentOS 系统中用于寻找可用软件包镜像的关键服务,意味着 CentOS 用户将无法通过该服务获取最新的镜像列表,会影响软件包的管理功能。
在 CentOS 7中再使用 yum 安装软件包或者编译基于 CentOS 的 Docker 镜像时,会报如下错误:
Could not resolve host: mirrorlist.centos.org
使用 nslookup 看下 mirrorlist.centos.org 会发现的确不再提供服务,如下:
# nslookup mirrorlist.centos.org
Server: 119.29.29.29
Address: 119.29.29.29#53
** server can't find mirrorlist.centos.org: NXDOMAIN
相信现在很多公司依然在大量使用着 CentOS 7,所以这个问题还是得解呀,虽然最好的方案是迁移到比较新的 Linux上去,但这需要时间啊。接下来就看下针对这个问题的解决方法。
CentOS 旧版本的软件包和已不再维护的 CentOS 版本都会被存储到 vault.centos.org,所以只需要将 repo 文件的 baseurl 由 mirrorlist.centos.org 改为 vault.centos.org 即可,可以使用如下命令:
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
正文到此结束,接下来稍微详细介绍下 mirrorlist.centos.org 和 vault.centos.org 的作用。
mirrorlist.centos.org 作用
mirrorlist.centos.org 是 CentOS 软件包管理系统中的一个关键组件,负责动态分发和管理镜像列表,确保用户能够高效、可靠地获取和更新软件包。停止服务将对系统更新和软件包管理产生重大影响,需要用户采取措施来手动配置镜像源或使用替代方案。主要作用如下:
- 动态分发镜像列表,mirrorlist.centos.org 根据用户的地理位置、网络条件和镜像服务器的负载情况,动态生成一个适合用户的镜像列表,有助于提高下载速度和效率。
- 负载均衡功能,通过将请求分配到不同的镜像服务器,mirrorlist.centos.org 帮助均衡各个镜像服务器的负载,避免某些服务器过载。
- 保障高可用性,提供多个镜像的列表可以确保在某个镜像服务器不可用时,用户仍能从其他镜像服务器获取软件包,提高了系统的高可用性。
- 简化配置,用户不需要手动配置和维护镜像源地址,只需使用 mirrorlist.centos.org 提供的 URL,系统会自动选择最佳镜像源。
当用户执行如 yum update 或 dnf install 等命令时,包管理工具会向 mirrorlist.centos.org 发送请求,获取一个包含多个可用镜像源的列表。这个列表通常是根据用户的 IP 地址进行地理位置判断,选择离用户最近或速度最快的镜像源。
vault.centos.org 作用
vault.centos.org 是一个重要的资源库,存储了所有旧版本的 CentOS 发行版和软件包。负责提供对旧版本软件包的访问,帮助用户解决依赖问题,进行历史存档,以及支持系统迁移和升级。对于需要特定旧版本环境的用户,vault.centos.org 是一个不可或缺的工具。主要作用如下:
- 存放旧版本的软件包,vault.centos.org 存储了 CentOS 过去发布的所有版本的软件包,包括那些已经结束生命周期(EOL)的版本。使得用户可以访问和下载旧版本的软件包。
- 历史存档,作为一个历史存档,vault.centos.org 保留了所有旧版本的 CentOS 发行版和更新。对于需要特定旧版本环境的用户(例如,为了兼容性测试或维护遗留系统)非常有用。
- 解决依赖问题,在某些情况下,用户可能需要特定版本的软件包来解决依赖关系问题。vault.centos.org 提供了这些旧版本的软件包,帮助用户解决依赖问题。
- 迁移和升级帮助,用户在从旧版本迁移或升级到新版本时,可能需要访问旧版本的软件包。vault.centos.org 提供了这些资源,帮助用户顺利完成迁移或升级过程。