CentOS 7 yum源失效导致Docker安装失败的解决方案

问题背景

在CentOS 7系统上安装Docker时,执行 sudo yum install 命令出现以下报错:

File contains no section headers.
file: file:///etc/yum.repos.d/CentOS-Base.repo, line: 1
'\n'

原因是/etc/yum.repos.d/CentOS-Base.repo文件被错误覆盖为HTML内容,导致yum仓库配置失效。


问题根源
  1. CentOS 7官方停止维护
    自2024年6月30日起,CentOS 7进入EOL阶段,官方镜像源(mirrorlist.centos.org)已不可用。
  2. 镜像源配置错误
    使用阿里云等第三方镜像源时,链接失效或网络异常导致下载到错误内容。

解决方案
一、手动修复yum仓库配置
  1. 备份原有配置

    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    
  2. 写入新的仓库配置
    直接使用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
    

二、清理缓存并重试安装
  1. 清除旧缓存

    sudo yum clean all
    sudo rm -rf /var/cache/yum
    
  2. 重建元数据缓存

    sudo yum makecache
    
  3. 安装Docker依赖工具

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    

验证配置是否成功

检查仓库配置

cat /etc/yum.repos.d/CentOS-Base.repo

输出应包含vault.centos.orgbaseurl路径。

测试安装命令

sudo yum install -y curl

若成功安装,说明yum源已修复。


你可能感兴趣的:(centos,docker,linux)