问题背景
在CentOS 7系统上安装Docker时,执行 sudo yum install 命令出现以下报错:
File contains no section headers.
file: file:///etc/yum.repos.d/CentOS-Base.repo, line: 1
'<!DOCTYPE html>\n'
原因是/etc/yum.repos.d/CentOS-Base.repo文件被错误覆盖为HTML内容,导致yum仓库配置失效。
问题根源
- CentOS 7官方停止维护
自2024年6月30日起,CentOS 7进入EOL阶段,官方镜像源(mirrorlist.centos.org)已不可用。 - 镜像源配置错误
使用阿里云等第三方镜像源时,链接失效或网络异常导致下载到错误内容。
解决方案
一、手动修复yum仓库配置
-
备份原有配置
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak -
写入新的仓库配置
直接使用vault.centos.org官方存档源(兼容EOL后的CentOS 7):sudo tee /etc/yum.repos.d/CentOS-Base.repo <<-'EOF' [base] name=CentOS-7 - Base baseurl=https://vault.centos.org/7.9.2009/os/x86_64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-7 - Updates baseurl=https://vault.centos.org/7.9.2009/updates/x86_64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-7 - Extras baseurl=https://vault.centos.org/7.9.2009/extras/x86_64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 EOF
二、清理缓存并重试安装
-
清除旧缓存
sudo yum clean all sudo rm -rf /var/cache/yum -
重建元数据缓存
sudo yum makecache -
安装Docker依赖工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
验证配置是否成功
• 检查仓库配置
cat /etc/yum.repos.d/CentOS-Base.repo
输出应包含vault.centos.org的baseurl路径。
• 测试安装命令
sudo yum install -y curl
若成功安装,说明yum源已修复。
1351

被折叠的 条评论
为什么被折叠?



