当前位置: 首页 > news >正文

解决CentOS 8 YUM源更新后报错问题:无法下载AppStream仓库元数据

背景介绍

在尝试更新CentOS 8的YUM源以使用阿里云镜像时,遇到了Failed to download metadata for repo 'appstream'的错误。此错误通常出现在执行yum clean all && yum makecache命令之后,表明系统无法从指定的URL获取AppStream仓库的元数据。本文将指导 如何解决这一问题,并确保所有必要的仓库配置文件都得到正确的更新。

错误分析

根据提供的错误信息:

Errors during downloading metadata for repository 'appstream':
- Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8-stream&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org]
错误:Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8-stream&arch=x86_64&repo=AppStream&infra=stock

上述错误提示我们,系统未能解析mirrorlist.centos.org的主机名,导致无法访问CentOS官方提供的镜像列表。这是因为自2022年1月31日起,CentOS团队已经移除了CentOS 8的所有包,并将其转移到了https://vault.centos.org。因此,我们需要手动调整/etc/yum.repos.d/目录下的相关配置文件,以便指向有效的镜像源。

解决步骤
步骤1:备份原有配置文件

为了防止意外情况发生,在进行任何更改之前,请先备份现有的YUM源配置文件。

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
步骤2:下载并替换为阿里云镜像源

接下来,我们将下载适用于CentOS 8.5.2111版本的阿里云镜像源,并覆盖默认的CentOS-Base.repo文件。

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
步骤3:编辑其他仓库配置文件

注意到不仅CentOS-Base.repo需要更新,AppStream和其他额外的仓库(如Extras)也需要相应的修改。这里给出一个示例性的CentOS-AppStream.repoCentOS-Extras.repo的内容模板:

CentOS-AppStream.repo

[AppStream]
name=CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

CentOS-Extras.repo

[Extras]
name=CentOS-8.5.2111 - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

可以直接创建或编辑这些文件,确保路径正确无误。对于每个仓库,都应指定至少一个baseurl,并且关闭GPG检查(gpgcheck=0),除非 有可靠的密钥来源。

步骤4:清理缓存并重建索引

完成以上操作后,再次运行以下命令来清除旧的缓存并生成新的索引:

sudo yum clean all
sudo yum makecache

shell直接执行代码根据自己的情况修改

# 定义基础URL和目录
base_url="https://mirrors.aliyun.com/repo"
target_dir="/etc/yum.repos.d"# 定义要下载的repo文件列表
repo_files=("CentOS-Advanced-Virtualization.repo""CentOS-NFV-OpenvSwitch.repo""CentOS-Stream-Extras-common.repo""CentOS-Stream-PowerTools.repo""CentOS-Base.repo""CentOS-OpenStack-victoria.repo""CentOS-Stream-Extras.repo""CentOS-Stream-RealTime.repo""CentOS-Base.repo.backup""CentOS-Storage-common.repo""CentOS-Stream-HighAvailability.repo""CentOS-Stream-ResilientStorage.repo""CentOS-Ceph-Nautilus.repo""CentOS-Stream-AppStream.repo""CentOS-Stream-Media.repo""CentOS-Stream-Sources.repo""CentOS-Messaging-rabbitmq.repo""CentOS-Stream-Debuginfo.repo""CentOS-Stream-NFV.repo"
)# 遍历每个文件并下载
for repo_file in "${repo_files[@]}"; docurl -o "$target_dir/$repo_file" "$base_url/Centos-vault-8.5.2111.repo"
done

更新yum缓存

sudo yum makecache

验证结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/453f4aa9486c48948f80b6f34b83a364.png)
http://www.lryc.cn/news/516320.html

相关文章:

  • [python3]Excel解析库-openpyxl
  • Docker 远程访问完整配置教程以及核心参数理解
  • 王老吉药业SRM系统上线 携手隆道共启战略合作新篇章
  • MyBatis 配置文件全解析
  • unity学习6:unity的3D项目的基本界面和菜单
  • 企业二要素如何用C#实现
  • 中科院空天院无人机视觉语言导航新基准!AeroVerse:模拟、预训练、微调和评估空中无人机具身世界模型的测试基准
  • Python安装(新手详细版)
  • Oracle DG备库数据文件损坏修复方法(ORA-01578/ORA-01110)
  • 安装Linux
  • 【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(四)
  • 【OpenCV】使用Python和OpenCV实现火焰检测
  • SpringCloud(二)--SpringCloud服务注册与发现
  • 国内Ubuntu环境Docker部署CosyVoice
  • 嵌入式linux系统中QT信号与槽实现
  • 科研绘图系列:R语言单细胞数据常见的可视化图形
  • 使用 C++ 和函数式编程构建高效的 AI 模型
  • guestfish/libguestfs镜像管理工具简介
  • 如何在centos中进行有效的网络管理
  • Oracle清空表后如何恢复数据
  • ElasticSearch基础-文章目录
  • SpringMVC(二)原理
  • Selenium 自动化,如何下载正确的 ChromeDriver
  • [Linux]redis5.0.x升级至7.x完整操作流程
  • Java字符编码与正则表达式深度解析
  • 【C++】B2099 矩阵交换行
  • 论文解读 | NeurIPS'24 IRCAN:通过识别和重新加权上下文感知神经元来减轻大语言模型生成中的知识冲突...
  • edeg插件/扩展推荐:助力生活工作
  • 基于Python读取ZIP和TAR格式压缩包教程
  • 懒人不下床型遥控方案--手机对电脑的简单遥控(无收费方案)