解决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[@]}"; do
  curl -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)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/949181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

php有两个数组map比较 通过id关联,number可能数量变化 比较他们之间增加修改删除

在PHP中,比较两个通过ID关联的数组,并确定它们之间的增加、修改和删除操作,你可以使用以下步骤: 创建两个数组:假设你有两个数组,分别表示“旧数据”和“新数据”。使用ID作为键:为了方便比较&a…

C++和OpenGL实现3D游戏编程【连载19】——着色器光照初步(平行光和光照贴图)(附源码)

1、本节要实现的内容 我们在前期的教程中,讨论了在即时渲染模式下的光照内容。但在我们后期使用着色器的核心模式下,会经常在着色器中使光照,我们这里就讨论一下着色器光照效果,以及光照贴图效果,同时这里知识会为后期的更多光照效果做一些铺垫。本节我们首先讨论冯氏光照…

《learn_the_architecture_-_generic_interrupt_controller_v3_and_v4__overview》学习笔记

1.GIC是基于Arm GIC架构实现的,该架构已经从GICv1发展到最新版本GICv3和GICv4。 Arm 拥有多个通用中断控制器,可为所有类型的 Arm Cortex 多处理器系统提供一系列中断管理解决方案。这些控制器的范围从用于具有小型 CPU 内核数的系统的最简单的 GIC-400 …

健身房管理系统多身份

本文结尾处获取源码。 本文结尾处获取源码。 本文结尾处获取源码。 一、相关技术 后端:Java、JavaWeb / Springboot。前端:Vue、HTML / CSS / Javascript 等。数据库:MySQL 二、相关软件(列出的软件其一均可运行) I…

General OCR Theory: Towards OCR-2.0 via a Unified End-to-end Model

通用 OCR 理论:通过统一的端到端模型实现 OCR-2.0 Abstract 随着人们对人工光学字符的智能处理需求日益增长,传统的OCR系统(OCR-1.0)已越来越不能满足人们的使用需求。本文,我们将所有人工光学信号(例如纯…

大数据组件(二)快速入门数据集成平台SeaTunnel

大数据组件(二)快速入门数据集成平台SeaTunnel SeaTunnel是一个超高性能的分布式数据集成平台,支持实时海量数据同步。 每天可稳定高效同步数百亿数据,已被近百家企业应用于生产。 SeaTunnel的运行流程如下图所示: 工作流程为:So…

前端如何判断多个请求完毕

在前端开发中,经常会遇到需要同时发起多个异步请求,并在所有请求都完成后再进行下一步操作的情况。 这里有几个常用的方法来实现这一需求: 使用 Promise.all() Promise.all() 方法接收一个 Promise 对象的数组作为参数,当所有的…

【机器学习】穷理至极,观微知著:微积分的哲思之旅与算法之道

文章目录 微积分基础:理解变化与累积的数学前言一、多重积分的高级应用1.1 高维概率分布的期望值计算1.1.1 多维期望值的定义1.1.2 Python代码实现1.1.3 运行结果1.1.4 结果解读 1.2 特征空间的体积计算1.2.1 单位球体的体积计算1.2.2 Python代码实现1.2.3 运行结果…

基于Arduino的FPV头部追踪相机系统

构建FPV头部追踪相机:让你置身于遥控车辆之中! 在遥控车辆和模型飞行器的世界中,第一人称视角(FPV)体验一直是爱好者们追求的目标。通过FPV头部追踪相机,你可以像坐在车辆或飞行器内部一样,自由…

鸿蒙HarmonyOS开发:拨打电话、短信服务、网络搜索、蜂窝数据、SIM卡管理、observer订阅管理

文章目录 一、call模块(拨打电话)1、使用makeCall拨打电话2、获取当前通话状态3、判断是否存在通话4、检查当前设备是否具备语音通话能力 二、sms模块(短信服务)1、创建短信2、发送短信 三、radio模块(网络搜索&#x…

高校教务系统登录页面JS分析——安徽大学

高校教务系统密码加密逻辑及JS逆向 最近有粉丝说安徽大学的教务系统换了,之前用的是正方出品的系统,今天我来看看新版教务系统怎么模拟登录,总体来说,还是比较简单的,就是一个哈希加密了密码,其次就是一个滑…

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示 参考文章源码下载地址一、SDL2的创建、初始化、退出二、系统基本Tick、彩屏刷新、按键事件三、彩屏获取与设置颜色四、彩屏填充颜色及清屏五、彩屏显示中文和英文字符串六、彩屏显示数字七、彩屏初始化八、主函数测…

Speech Recognition vs. Voice Recognition | 语音识别工作原理 | 模型训练 | 应用

注:机翻,未校。 Speech Recognition 与 Voice Recognition 剑桥词典 speech recognition,语音识别 voice recognition,声音识别 Speech vs. Voice - What’s the Difference? | This vs. That https://thisvsthat.io/speech-vs…

《Vue3实战教程》35:Vue3测试

如果您有疑问,请观看视频教程《Vue3实战教程》 测试​ 为什么需要测试​ 自动化测试能够预防无意引入的 bug,并鼓励开发者将应用分解为可测试、可维护的函数、模块、类和组件。这能够帮助你和你的团队更快速、自信地构建复杂的 Vue 应用。与任何应用一…

【MySQL 保姆级教学】用户管理和数据库权限(16)

数据库账户管理是指对数据库用户进行创建、修改和删除等操作,以控制用户对数据库的访问权限。通过账户管理,可以设置用户名、密码、主机地址等信息,确保数据库的安全性和可控性。例如,使用 CREATE USER 创建用户,ALTER…

【复盘】2024年终总结

工作 重构风控系统 今年上半年其实就是整体重构系统,经历了多次加班的,其中的辛酸苦辣只有自己知道,现在来看的话,其实对自己还有一定的成长,从这件事情上也明白 绩效能不能拿到A,在分配的任务的时候就决…

美食烹饪互动平台

本文结尾处获取源码。 一、相关技术 后端:Java、JavaWeb / Springboot。前端:Vue、HTML / CSS / Javascript 等。数据库:MySQL 二、相关软件(列出的软件其一均可运行) IDEAEclipseVisual Studio Code(VScode)Navica…

linux-centos-安装miniconda3

参考: 最新保姆级Linux下安装与使用conda:从下载配置到使用全流程_linux conda-CSDN博客 https://blog.csdn.net/qq_51566832/article/details/144113661 Linux上删除Anaconda或Miniconda的步骤_linux 删除anaconda-CSDN博客 https://blog.csdn.net/m0_…

[读书日志]从零开始学习Chisel 第一篇:书籍介绍,Scala与Chisel概述,Scala安装运行(敏捷硬件开发语言Chisel与数字系统设计)

简介:从20世纪90年代开始,利用硬件描述语言和综合技术设计实现复杂数字系统的方法已经在集成电路设计领域得到普及。随着集成电路集成度的不断提高,传统硬件描述语言和设计方法的开发效率低下的问题越来越明显。近年来逐渐崭露头角的敏捷化设…

工厂模式与抽象工厂模式在Unity中的实际应用案例

一、实验目的 实践工厂模式和抽象工厂模式的实际应用。 创建一个小型的游戏场景,通过应用这些设计模式提升游戏的趣味性和可扩展性。 掌握在复杂场景中管理和使用不同类型的对象。 比较在实际游戏开发中不同设计模式的实际效果和应用场景。 学习如何进行简单的性…