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

文章目录

  • 问题描述
  • 原因
  • 解决办法

问题描述

最近,笔者在新服务器中使用安装命令 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 就不会出现前述的报错了。

你可能感兴趣的:(疑难杂症,数据库,操作系统集合,centos,mysql,linux)