这里我又将 CentOS8 的仓库给改了,现在支持多镜像仓库了。可以指定dnf选择使用最快的镜像进行安装及更新操作。

主要操作如下:

  1. 修改dnf 的默认配置,添加fastestmirror 字段,启动多镜像选择支持(注:这里主要还是通过ping延时来选择镜像的)。

修改如下:

# file: /etc/dnf/dnf.conf

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
fastestmirror = true      # 主要就是添加这一行即可。
  1. 将我整合好的资源导入到yum.repos.d目录下即可。
    我的资源路径:

# ${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命令时还会报出一堆的文件冲突问题,以下是我想到的几种解决方法:

  1. 等待CentOS源官方的更新,以解决冲突问题(可能性很低)。
  2. 手动优先更新那几个冲突的软件包。
  3. 在使用yum update命令时添加参数--nobest跳过安装冲突的软件包。
  4. 直接删除冲突的软件包(删除软件包的操作过于危险,谨慎操作),如果删除后能正常完成软件包的更新,记住一定要尝试执行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】获取授权信息。

最后修改:2020 年 05 月 28 日 10 : 58 AM
如果觉得我的文章对你有用,请随意赞赏