CentOS 配置 yum 源

执行 yum install 报错

Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist

排查:

  1. 查看CentOS 8 所在服务器网络是否出现问题,可以用 ping www.baidu.com 进行测试。

  2. 网络没问题就看对应的软件源是否出现问题,具体排查/etc/yum.repos.d目录下这三个文件:

    CentOS-Base.repo
    CentOS-AppStream.repo
    CentOS-Extras.repo

    如果上述三个文件中含有 mirrorlist 字段,将这些字段进行注释,并将 baseurl 修改为国内的软件源,阿里云

CentOS 8 提前 EOL,阿里云源停止维护后的更新配置方法 2022-2-17

CentOs Linux 8 从 2021.10.31 号后已经停止维护,所以之后更新镜像需要通过 vault.centos.org来获取更新。

CentOS8 于2021年12月31日提前 EOL,Linux 社区也不再维护此版本,各大提供 dnf/yum 源的厂商也都按照官方要求把镜像移动,导致 dnf/yum 使用中报错,所以我们需要重新配置 repo。

但是阿里官方也停止了对如何 repo 配置的文档更新,导致能下载 CentOS-Base.repo,却无法正常 dnf makecache,经过我自已一段时间的研究终于解决了问题。

方法如下:

方式一

1、备份旧 repo 配置:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载阿里云源repo配置文件:

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

3、依据 centos 社区官方发布的说明,使用 sed 命令替换相应的 repo 文件参数(注销 mirrorlist 选项,开启 baseurl 选项):

minorver=8.5.2111
sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \
-e "s|^#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/|baseurl=http://mirrors.aliyun.com/centos-vault/$minorver/extras/$basearch/os/|g" \
-i.bak \
/etc/yum.repos.d/CentOS-Linux-AppStream.repo
minorver=8.5.2111
sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \
-e "s|^#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/|baseurl=http://mirrors.aliyun.com/centos-vault/$minorver/extras/$basearch/os/|g" \
-i.bak \
/etc/yum.repos.d/CentOS-Linux-BaseOS.repo

(注释:以上2段命令替换的是 CentOS-Linux-AppStream.repo 和 CentOS-Linux-BaseOS.repo 文件中的参数,如果 dnf makecache 时其它 repo 文件报错,按照这2个命令对比参数自行修改参数或直接修改报错的 repo 文件即可。)

成功替换2个文件后
4、清理、重生成YUM源:

dnf clean all
dnf makecache

配置完毕(centos8开始dnf全面替代yum并兼容)。

方式二

直接修改 repo 文件:

  1. 首先,打开 CentOS-Base.repo,复制阿里云提供的三段 baseurl=XXXXXXX:
baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/$basearch/os/
        http://mirrors.aliyuncs.com/centos-vault/8.5.2111/extras/$basearch/os/
        http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/extras/$basearch/os/
  1. 其次,打开 dnf makecache 时报错的对应的repo文件:

    这里看到报错的是 appstream,所以要修改 CentOS-Linux-AppStream.repo 文件,打开它,注销掉 “mirrorlist” ,添加阿里源:

    哪个 repo 报错就反复如上这样编辑它,直到无错为成,成功生成 dnf/yum 缓存.

原文地址 https://blog.csdn.net/bubbleyang/article/details/123580252
原文地址 http://www.manongjc.com/detail/28-lqyhbapptotsflh.html

你可能感兴趣的:(Linux,centos,linux,服务器)