浅谈
安装软件过程中突然发现 YUM 安装命令发生了报错,开始觉得是网络环境因素导致的,在排查中发现并不是这个原因导致的,突然想起 Centos7 发布的停止维护通知,随后在 2024年6月30日停止更新支持,导致软件源域名也停止解析,本文将记一次软件源无法更新解决方法。
软件源默认目录
了解一下软件源的默认配置目录,熟悉跳过。
- CentOS-Base.repo:包含基本的 CentOS 软件包源。
- CentOS-Updates.repo:包含 CentOS 的更新软件包。
- CentOS-Extras.repo:包含额外的软件包
# 查看软件源目录文件
ls /etc/yum.repos.d/
备份软件源
更改软件源前,养成良好的备份习惯,防止出现不必要的麻烦。
# 进入源位置,创建目录备份文件
cd /etc/yum.repos.d/ && mkdir backup && cp *.repo backup/
恢复备份默认原配置,此操作是强制覆盖的,如更新完成软件源,正常可用的情况,谨慎执行此操作。
# 恢复原配置,覆盖到现有配置
sudo cp -f /etc/yum.repos.d/backup/*.repo /etc/yum.repos.d/
更新软件源
这里提供多个可用社区源,更换其中任意一个软件源,执行更新后就可以使用了。
阿里云软件源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
腾讯云软件源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.cloud.tencent.com/repo/centos7_base.repo
华为云软件源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/artifactory/os-conf/centos/centos-7.repo
字节跳动软件源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.volces.com/repo/Centos-7.repo
网易软件源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo && sudo sed -i 's|/centos/\$releasever/|/centos-vault/7.9.2009/|g' /etc/yum.repos.d/CentOS-Base.repo
Tips: 网易直接获取软件源报错,软件源仓库路径不对,本地修正了一下路径。
清华软件源 (THU)
sudo sed -i.bak \
-e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/centos|g' \
/etc/yum.repos.d/CentOS-Base.repo
中科大软件源 (USTC)
sudo sed -i.bak \
-e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos-vault/centos|g' \
/etc/yum.repos.d/CentOS-Base.repo
Centos7 Vault 软件源
sudo sed -i.bak \
-e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=http://vault.centos.org/7.9.2009|g' \
/etc/yum.repos.d/CentOS-Base.repo
随着 CentOS 7 维护支持的结束,官方提供了一个备份软件源仓库(CentOS Vault)
清理并更新缓存
以上软件源更换任意一个,执行以下命令清理缓存并更新软件包列表,完成软件源更新。
# 清理缓存,更新软件包列表
yum clean all && yum makecache
写在最后
完成以上步骤,解决因 CentOS 维护周期结束,导致无法更新安装软件。
Security
可选更新内容
# 更新所有软件包到最新
yum update
# 安装 EPEL 源
yum install epel-release
# 安装常用工具
yum install net-tools htop -y