这里我又将 CentOS8 的仓库给改了,现在支持多镜像仓库了。可以指定dnf选择使用最快的镜像进行安装及更新操作。
主要操作如下:
- 修改dnf 的默认配置,添加
fastestmirror
字段,启动多镜像选择支持(注:这里主要还是通过ping延时来选择镜像的)。
修改如下:
# file: /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
fastestmirror = true # 主要就是添加这一行即可。
将我整合好的资源导入到
yum.repos.d
目录下即可。
我的资源路径:- CentOS-BaseOS.tar.xz(CentOS 官方源)
- CentOS-Stream.tar.xz(CentOS 官方滚动更新源)
- epel.tar.xz(Fedora提供的RHEL扩展源)
- remi.tar.xz(提供了新版的PHP和web应用等)
- rpmfusion.tar.xz(提供了RedHat不愿意发行的软件以及非开源软件,例如 MVIDIA驱动)
- elrepo.tar.xz(RHEL的增强驱动以及新的内核)
- CentOS-Extension.tar.xz(我个人制作的yum源,一些CentOS官方源没有的软件,并不建议用于生产环境)
- yum.repos.all.tar.xz(以上所有repo的集合)
- yum.repos.d.tar.xz(老版,未改动,不建议继续使用)
# ${URL} 以上面的其中一个归档包的URL地址
# ${FILE} 下载到本地后的文件名称
wget ${URL} # 下载repo归档包
mkdir /var/lib/backups/ # 创建一个用于备份文件的目录
mv /etc/yum.repos.d/* /var/lib/backups/ # 移动默认yum源到备份目录
tar -xf ${FILE} -C / # 解压下载的文件到默认目录即可
=== 2020/1/6 更新 ===
CentOS8 已经将 dnf 工具进行了更新,同时将源的各类路径做出了修改。因此在更新时会报出 错误:同步仓库 'AppStream' 缓存失败
我的配置的 yum 源全部使用的是变量进行配置,所以在使用时可以直接添加参数,来覆盖默认 releasever 值。
需要在更新时添加参数才能进行正常的软件更新,命令如下:
yum --releasever 8 update dnf # 这里需要优先更新 dnf
更新完成后就可以正常使用 dnf
命令了,也就是说不需要再添加--releasever
参数了。
在更新完dnf
后,再次尝试执行yum update
命令时还会报出一堆的文件冲突问题,以下是我想到的几种解决方法:
- 等待CentOS源官方的更新,以解决冲突问题(可能性很低)。
- 手动优先更新那几个冲突的软件包。
- 在使用
yum update
命令时添加参数--nobest
跳过安装冲突的软件包。 - 直接删除冲突的软件包(删除软件包的操作过于危险,谨慎操作),如果删除后能正常完成软件包的更新,记住一定要尝试执行
yum groupinstall 'Minimal Install'
,将可能存在于基础包中的软件重新安装回系统,以免照成任何系统使用上的问题。
注:这次的CentOS8更新幅度较大,可能新版本 8.1 即将完成。
=== 2020/1/22 更新 ===
CentOS 8.1 已经发行了,如果系统中没有任何需要的文件,可以直接使用新的 CentOS 8.1 系统,将不会有以上错误,同时本 yum 源也可以经实测正常使用。
=== 2020/2/3 更新 ===
这里我又更新了yum源,重新写了以下yum源,CentOS8.1新增了个HA源(包含在CentOS-BaseOS中了),以及添加几个常用到的yum源:remi,rpmfusion,elrepo 和 CentOS官方的滚动更新源(stream)。已在上方改动。
没有仔细检查过每一个repo源,可能存在问题,忘评论通知。
=== 2020/5/28 更新 ===
推荐使用CentOS原生自带的源,除非无法访问centos.org,再使用我配置的源。第三方源除外。
本文经「原本」原创认证,作者乾坤盘,访问yuanben.io查询【5PDDDOGD】获取授权信息。
博主,l上面的资源用哪个 ,是这个yum.repos.all 里面的都要放进去吗 具体怎么使用能说清楚点吗,谢谢。
直接将我提供的软件包解压到根目录即可,具体操作步骤如下:
wget https://somata.gitee.io/image1/2019/centos8_yum_dnf_library_complete/yum.repos.all.tar.xz
mkdir /var/lib/backups/
mv /etc/yum.repos.d/* /var/lib/backups/
tar -xf yum.repos.all.tar.xz -C /
博主,我刚安装CentOS 8,但是通过终端下载软件速度50k,然后想换成阿里云的镜像,不知道你能否指点以下,只有dnf,没有装yum、wget,网上找了半天没有教程。。
你可以将 dnf 理解为yum的替代品,dnf的用法其实和yum的用法是完全相同的。你也可以忽略掉dnf,按照CentOS7中的yum配置方法一样配置即可。比如说直接使用yum命令,配置yum的配置文件/etc/yum.repos.d。
那个包下载的时候报404
你这里指的是那个软件包,我这里一只都在用这个配置,没什么问题的。
国内镜像更新了一半:有的时候国内镜像会同步一半,另一半还没同步,过1天就好了。这个我也遇到过。缓存问题:你可以试一试 yum clean all 然会再 yum makecache 重新制作缓存。你这里可能有2个问题: