如果出于某种原因你还在使用CentOS 8系统,那么可能在尝试更新系统或只是安装软件包时遇到以下错误:
“Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist”
例如,在下面的屏幕截图中,我试图安装fio包并运行它时,就出现这样的错误:
为什么会出现此错误?
众所周知,CentOS Linux 8已经是过去式,它在2021年12月31日达到了生命终结(EOL),因此它不再从CentOS官方项目获得开发资源。
这意味着在2021年12月31日之后,要更新CentOS的软件安装,需要将镜像更改为CentOS Vault Mirror,它们将被永久存档。
修复错误:Failed to Download Metadata for Repo ‘AppStream’
要修复上述错误,请打开终端或通过ssh登录,然后运行以下命令将repo URL更改为从官方CentOS repos指向vault.centos.org。
这里使用sed命令来编辑repo配置文件中所需的指令或参数:
# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* # sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
或者,也可以通过运行以下命令指向基于Cloudflare的保管库存储库:
# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* # sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.epel.cloud|g' /etc/yum.repos.d/CentOS-Linux-*
现在应该能够更新CentOS或安装软件包而不会出现任何错误:
以上就是在CentOS 8系统中修复Failed to Download Metadata for Repo ‘AppStream’错误的简单方法,仅供参考。虽然网上有大量类似的教程方法,但相对比较复杂,而且问题也没有得到实质性的解决,所以这里就分享下此种方法。
如果希望从CentOS 8迁移到Rock Linux 8或AlamLinux 8,请参考以下教程: