CentOS8-Stream Yum下载报错

CentOS8-Stream Yum下载报错

报错信息如下

CentOS Linux 8 - AppStream                                                                0.0 B/s | 0 B 
Errors during downloading metadata for repository 'appstream':
     - Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org]
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org]
原因: CentOS8已于 2021年12月31日停止更新和维护,CentOS团队从官方镜像中移除了CentOS8的所有的包,所以在使用yum安装或更新会报上述错误

解决方法

1. cd 到仓库目录下
[root@eleven ~]# cd /etc/yum.repos.d/


2. 替换镜像配置
[root@eleven yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

[root@eleven yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*


3.重新生成缓存和更新
[root@eleven yum.repos.d]# yum clean all && yum makecache
[root@eleven yum.repos.d]# yum update

# 然后即可正常下载安装包

命令解释

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

sed:这是 Linux 和 Unix 系统中用于文本处理的流编辑器。它可以执行文本替换、删除、新增等多种操作

-i:这个选项告诉 sed 直接修改文件内容,而不是将结果输出到标准输出(通常是屏幕)

's|old_text|new_text|g':这是 sed 的替换命令,格式为 s|原字符串|新字符串|标志。在这个例子中,它用于将匹配到的old_text 替换为 new_text。

		s 表示替换操作。
		| 是分隔符,通常使用 /,但在这里使用了 | 来避免与 URL 中的 / 混淆。你可以使用几乎任何字符作为分隔符。

baseurl=http://vault.centos.org 是替换后的文本
g 是一个标志,表示全局替换。

/etc/yum.repos.d/CentOS-*:这是 sed 命令要处理的文件路径。/etc/yum.repos.d/ 是 YUM 仓库配置文件所在的目录,而 CentOS-* 是一个通配符,用于匹配所有以 CentOS- 开头的文件。这意味着命令将应用于 /etc/yum.repos.d/ 目录下所有与 CentOS 相关的 YUM 仓库配置文件。

你可能感兴趣的:(笔记,linux,CentOS-Stream8,yum,安装)