目录
前言
CentOS Linux 8 已于 2021 年 12 月 31 日结束生命周期 (EOL)。这意味着 CentOS 8 将不再从 CentOS 官方项目获得开发资源。在 2021 年 12 月 31 日之后,如果您需要更新您的 CentOS,您需要将镜像更改为vault.centos.org,它们将被永久存档。或者,您可能想要升级到 CentOS Stream。
错误:无法下载 repo ‘appstream’ 的元数据
如果您仍然管理系统正在运行的 CentOS 8 并尝试使用dnf update
or更新软件包yum update
,您将遇到以下错误
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
方法一
解决方案:迁移到 CentOS Stream 8 或替代发行版
现在 CentOS 已经转移到 Stream——一个滚动发布的 Linux 发行版,介于Fedora的上游开发和RHEL 的下游开发 之间——许多用户正在转向CentOS 的替代品。其他人决定通过迁移到 CentOS Stream 8 来坚持使用 CentOS。这两种选择都将解决无法更新 CentOS 8 的问题。
要从 CentOS 8 迁移到 CentOS Stream 8,请运行以下命令:
dnf --disablerepo '*' --enablerepo=extras swap centos-linux-repos centos-stream-repos
dnf distro-sync
方法二
将镜像更改为vault.centos.org
第一步:进入/etc/yum.repos.d/
目录。
cd /etc/yum.repos.d/
第 2 步:运行以下命令
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 -*
第 3 步:现在运行 yum 更新
yum update -y
方法三
# 切root权限
su root
# 备份repo
rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
# 下载新的repo
wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo
wget https://mirrors.aliyun.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo
# 替换repo文件中的url
sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo
sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/epel-archive-8.repo
# 重建缓存
yum clean all & yum make cache
完事之后,重新执行以下安装命令,判断是否ok,比如安装nc命令
yum install nc -y