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、通过vim直接修改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/
2)、其次,打开dnf makecache时报错的对应的repo文件:
这里看到报错的是appstream,所以要修改CentOS-Linux-AppStream.repo文件,打开它,注销掉“mirrorlist”,添加阿里源:
哪个repo报错就反复如上这样编辑它,直到无错为成,成功生成dnf/yum缓存:
4、清理、重生成YUM源:
dnf clean all
dnf makecache
配置完毕(centos8开始dnf全面替代yum并兼容)。
5、常用命令:
dnf repolist all #列出所有仓库
dnf list all #列出仓库中所有软件包查看软件包信息
dnf info 软件包名称 #列出仓库中所有软件包查看软件包信息
dnf install 软件包名称 #安装软件包
dnf reinstall 软件包名称 #重新安装软件包
dnf update 软件包名称 #升级软件包
dnf remove 软件包 #移除软件包
dnf clean all #清除所有仓库缓存
dnf check-update #检查可更新的软件包
dnf grouplist #查看系统中已经安装的软件包组
dnf groupinstall 软件包组 #安装指定的软件包组
dnf groupremove 软件包组 #移除指定的软件包组
dnf groupinfo 软件包组 #查询指定的软件包组信息