背景

  • 最近同事反馈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. Apache HBase MTTR 优化实践:减少恢复时长

    摘要:HBase是Hadoop Database的简称,是建立在Hadoop文件系统之上的分布式面向列的数据库,它具有高可靠.高性能.面向列和可伸缩的特性,提供快速随机访问海量数据能力. 本文分享自华 ...

  2. java并发编程(2):Java多线程-java.util.concurrent高级工具

    高级多线程控制类 Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效.易维护.结构清晰的Java多线程程序. Thr ...

  3. iOS分发证书过期或手动吊销,会影响App的下架吗?

    ​ iOS distribution发布证书过期或者被手动revoke了app会被下架吗? 在距离distribution 证书过期一个月(或被手动revoke了)的时候会受到apple的邮件 ​编辑 ...

  4. 火山引擎ByteHouse:ClickHouse如何保证海量数据一致性

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 背景 ClickHouse是一个开源的OLAP引擎,不仅被全球开发者广泛使用,在字节各个应用场景中也可以看到它的身 ...

  5. 关于 DataLeap 中的 Notebook,你想知道的都在这

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

  6. 火山引擎 DataLeap 一招教你避坑“数据开发”中的资源隔离问题

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在离线数仓开发过程中,研发人员需要根据业务变化,在开发/生产环境中不断切换.解析.调试.以往,企业一般通过人工方式 ...

  7. Solon 能打出 war 包放到 tomcat 下运行吗?

    Solon 是一个强调自启动的框架,原则上是不推荐 war 容器运行的,但总会有些甲方有硬性规定,或者旧环境不能变. 1.操作指南: 在普通项目增加几项内容即可打 war 包(仍可打 jar 包): ...

  8. .NET Moq mock internal类型

    问题 Can not create proxy for type xxx because type xxx is not accessible. Make it public, or internal ...

  9. Go--字符串函数

    示例: package main import ( "fmt" "strings" ) func main() { //strings.Contains(): ...

  10. UVA - 1594 :Ducci Sequence (set应用)

    给定n元组(a1,a2,...,an),ai均为整数,得到下一个序列为(|a1-a2|,|a2-a3|,...,|an-a1|),如此循环下去,必定会出现全零序列或重复序列. 现要求判断给定序列是全零 ...