解决CentOS8使用yum安装rpm报错为仓库appstream下载元数据失败Cannot prepare internal mirrorlist No URLs in mirrorlist

文章讲述了在CentOS8系统中使用yum安装rpm包时遇到的错误,由于CentOS8的官方镜像已移除,导致安装失败。解决方法是切换到阿里云镜像,通过删除原有镜像文件,创建新目录并下载阿里云的CentOS-Base.repo文件,从而成功安装软件包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

最近,笔者在新服务器中使用安装命令 yum 安装 rpm 安装包时,却发生了报错。

  • 笔者报错时的运行环境:CentOS 8 x86_64

  • 报错时使用的命令:sudo yum localinstall *.rpm

  • 报错日志:

    CentOS Linux 8 - AppStream    68  B/s |  38  B     00:00    
    错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist
    

原因

  这是因为 yum 解析安装包依赖关系时需要联网,而在 2022年1月31日,CentOS团队从官方镜像中删除了所有 CentOS 8 的软件包。CentOS 8 已于2021年12月31日到期,但这些软件包在官方镜像上保留了一段时间。现在他们被转移到 https://vault.centos.org

  因此,CentOS 8 原镜像不可用。

  【附】官方说明:https://www.centos.org/centos-linux-eol/

解决办法

  可以使用阿里云镜像。为此,需要先删除 CentOS 8 中的原镜像。这些文件位于 /etc/yum.repos.d 中,删除的方法有很多,这里只举一例。

  使用如下命令备份原镜像文件。(注意:移动本身就包含删除的效果)

mv /etc/yum.repos.d /etc/yum.repos.d_backup

  使用如下命令创建原目录。

mkdir /etc/yum.repos.d

  现在就可以下载阿里云镜像了。使用如下命令下载阿里云镜像。

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

  这会自动将下载的阿里云镜像放置在 /etc/yum.repos.d 中。之后,再使用命令 sudo yum localinstall *.rpm 就不会出现前述的报错了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值