问题描述
最近,笔者在新服务器中使用安装命令 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
中,删除的方法有很多,这里只举一例。
使用如下命令备份原镜像文件。(注意:移动本身就包含删除的效果)
使用如下命令创建原目录。
现在就可以下载阿里云镜像了。使用如下命令下载阿里云镜像。
这会自动将下载的阿里云镜像放置在 /etc/yum.repos.d
中。之后,再使用命令 sudo yum localinstall *.rpm
就不会出现前述的报错了。