背景

  • 最近同事反馈CentOS的机器无法再现安装 rpm包了. 提示信息主要是下载源数据失败.
  • 今天上午抽时间进行了一下简单验证, 晚上进行一下总结. 避免遗忘.
  • 认为与Redhat被IBM收购之后, 收紧大家白嫖的资源有关系, 红帽进行了有意的修改,但是没有考虑太多兼容性

问题现象

  • CentOS8 这边的机器存在问题
机器版本信息
CentOS Linux release 8.0.1905 (Core)
报错信息为:
[root@CentOS8 yum.repos.d]# yum makecache
CentOS-8 - Base
为 repo 'BaseOS' 下载元数据失败
错误:为 repo 'BaseOS' 下载元数据失败
  • 网上很多解决方法让进行替换yum源, 但是这边发现替换了也是不起效果.

问题解决

  • 自己进行了一下简单的分析, 发现默认的仓库信息其实是不正确的
CentOS8之后仓库已经不是这样的url了:
https://mirrors4.tuna.tsinghua.edu.cn/centos/8/BaseOS/x86_64/os/
版本号基于stream进行了修改
https://mirrors4.tuna.tsinghua.edu.cn/centos/8-stream/BaseOS/x86_64/os/
# 注意变成了 8-stream 而不是 8
  • 知道这个地方之后, 解决方法就比较简单了, 将url改对进行下载
find /etc/yum.repos.d/ -name "*.repo" | xargs  sed -i 's/$releasever/8-stream/g'
find /etc/yum.repos.d -name "*.repo" | xargs sed -i 's/$basearch/x86_64/g'
  • 注意进行了这样修改 需要先进行备份.
  • 理论上就可以进行元数据的建立了.

其他问题

  • 今天进行部署时还发现一个这样的问题:
模块依赖问题

 问题 1: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBD-MySQL:4.046:8010020191114030811:073fa5fe-0.x86_64
问题 2: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBD-SQLite:1.58:8010020191114033549:073fa5fe-0.x86_64
问题 3: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBI:1.641:8010020191113222731:16b3ab4d-0.x86_64
元数据缓存已建立。
  • 网上的解决方案说是可以用如下命令来解决:

    yum module enable perl:5.26
  • 但是我发现还是无效
  • 改用官方源 修改 releaserver 就可以了.

方法二

  • 根据此博客https://www.cnblogs.com/reachos/p/11089013.html
  • 应该还可以不修改 baseurl 的方式进行处理, 可以修改yum 默认的参数变量 进行正确的url指向
cat > /etc/yum/vars/basearch <<EOF
x86_64
EOF cat > /etc/yum/vars/releasever <<EOF
8-stream
EOF
  • 注意如果是银河麒麟或者是其他操作系统需要根据 仓库的url进行修改.

CentOS8 解决 yum元数据下载失败的方法的更多相关文章

  1. 解决IDEA安装Python插件,下载失败的方法

    一.问题 通过file-->settings-->Plugins 安装python时,会提示下载失败.可以采用以下方法解决. 二.解决办法 1.在help/about中查看IDEA版本,作 ...

  2. 解决anaconda安装cvxpy失败的方法

    在Windows下安装凸优化包CVXPY 直接在anaconda prompt中输入pip install cvxpy经常会出现安装失败的情况,使用以下方法,亲测成功! 1. 下载所需的whl文件,请 ...

  3. 解决EasyUI DataGrid删除行失败的方法

    笔者最近在做一个项目的后台,用到了EasyUI的datagrid控件,并开启了行内编辑功能,实际上也就是使用了edatagird这个空间,引用了edatagrid.js,一切似乎都做的顺风顺水,添加数 ...

  4. mac os 错误提示:下载失败 使用已购页面再试一次 解决方法

    最近由于买了macbook,开始用mac os系统,发现一个奇怪的现象,在app store里下载应用,老是提示:下载失败 使用已购页面再试一次 原来一直不知道怎么解决这个问题,今天研究了下,发现解决 ...

  5. AppStore下载失败使用已购页面再试一次解决方法

    AppStore载失败 使用已购页面再试一次解决方法 工具/原料 Mac OS 方法/步骤 1.大家可以先试试更改系统 DNS 的方法,由于苹果的 App Store 应用商店在国外,所以 DNS 如 ...

  6. Genymotion下载失败解决方法

    Genymotion下载虚拟机版本时会很慢,而且经常下载失败 解决方法如下: 1.先去选择下载你需要的版本,之后会下载(很慢),或者失败. 2.到C:\Users\yourname\AppData\L ...

  7. Android SDK下载失败的解决方法

    Android SDK下载失败的解决方法 图1 在下载过程中,Android SDK Manager Log中出现下面出错信息: Preparing toinstall archives Downlo ...

  8. IDEA Download missing driver files 下载失败解决方法

    使用IDEA连接数据库时可能会遇到缺失驱动文件的问题(提示Download missing driver files) 正常情况下点击Download后IDEA会自动下载缺失的文件,但是因为网络原因, ...

  9. maven依赖包下载失败解决办法

    原文:http://www    .zuidaima.com/question/2535347150441472.htm maven依赖包下载失败 比如:Missing artifact org.co ...

  10. Jenkins中插件下载失败的解决办法

    插件下载失败原因:通过国外服务器下载镜像,有较高的失败率,某些插件下载失败或者中断会引起其他有依赖关系的插件也下载失败 解决方案:1. 使用VPN.2. Jenkins镜像地址改为国内镜像地址:系统管 ...

随机推荐

  1. 零代码修改,教你Spring Cloud应用轻松接入CSE

    摘要:本文介绍了Sermant Agent的接入原理和如何使用Sermant Agent无修改接入CSE. 本文分享自华为云社区<Spring Cloud应用零代码修改接入华为云微服务引擎CSE ...

  2. 跟我读论文丨ACL2021 NER 模块化交互网络用于命名实体识别

    摘要:本文是对ACL2021 NER 模块化交互网络用于命名实体识别这一论文工作进行初步解读. 本文分享自华为云社区<ACL2021 NER | 模块化交互网络用于命名实体识别>,作者: ...

  3. 火山引擎DataLeap的Catalog系统搜索实践 (二):整体架构

    整体架构 火山引擎DataLeap的Catalog搜索系统使用了开源的搜索引擎Elasticsearch进行基础的文档检索(Recall阶段),因此各种资产元数据会被存放到Elasticsearch中 ...

  4. Axure 弹出框遮罩层灯箱效果

    灯箱效果:比较适合Web, 效果不太理想,还是自己做个比较合适 弹出效果:就是弹框 推动效果:A 元件显示的时候,把 B元件往下.右移动.如Web左侧菜二级单效果

  5. PPT 配色方法

    https://www.bilibili.com/video/BV1ha411g7f5/?p=10 https://dribbble.com/ 问题1:配色太多,主题色混乱 一个主色,两辅色 问题2: ...

  6. 【python爬虫】requests高级用法 代理池搭建 爬虫实战

    目录 昨日回顾 面试题 爬虫总结 今日内容 1 requests高级用法 1.0 解析json 1.1 ssl认证(了解) 1.2 使用代理(重要) 1.3 超时设置 1.4 异常处理 1.5 上传文 ...

  7. 【vue3】创建vue3项目的两种方式 setup函数 ref和reactive 计算和监听属性 生命周期 hooks toRefs script setup的作用和lang=ts 后台管理模板

    目录 昨日回顾 今日内容 1 vue3介绍 2 创建vue3项目的两种方式 vue-cli创建Vue3项目 Vite创建Vue3项目 Vue3目录结构 Vite的优点 3 setup函数 Vue3创建 ...

  8. BAPI_PO_CHANGE 采购订单修改服务

    修改服务页签里面的价格和数量,达到修改净价和条件里面金额的目的 数据可以通过采购订单查询ESLH和ESLL表获取 "------------------------------------- ...

  9. js将页面上取得的元素坐标转换为电脑屏幕坐标

    代码: <!DOCTYPE html> <html> <head> <title>计算屏幕坐标</title> <meta chars ...

  10. 基于HTML,CSS & Javascript 实现图像的自动轮播和手动导航按钮

    不务正业的第n天(划掉 2020年年末在完成Web网页制作课程的大作战,在写代码的时候想到用HTML + CSS & Javascript制作一个图片轮播功能增强网页的功能 简单贴一下代码:注 ...