Centos Stream 8 更新同步dnf 报错解决

古哥 网站咨询

升级Centos Stream 8后,我解决了dnf无法更新问题,并且完成了更新。后面,我再运行dnf update或者dnf distro-sync同步dnf源时,

[root@iZwz98biiph4vhee88vxj8Z ~]# dnf update
Repository epel is listed more than once in the configuration
Last metadata expiration check: 16:54:04 ago on Wed 13 Jan 2021 03:50:09 AM CST.
Dependencies resolved.
Nothing to do.
Complete!

如上,第一行显示epel多次出现,我们需要对epel源中多次出现得删掉。目录位置如下:

/etc/yum.repos.d

可以执行以下命令,完成备份:

tar zcf /home/epel.tar.gz /etc/yum.repos.d/

然后,访问目录,找到多余得epel源删掉,比如我的删除情况如下:

2021011313005679

然后执行如下命令重建缓冲:

yum clean all
yum makecache

接下来,我们继续运行dnf update或者dnf distro-sync,结果如下,不再有报错信息:

[root@iZwz98biiph4vhee88vxj8Z ~]# dnf update
Last metadata expiration check: 0:00:30 ago on Wed 13 Jan 2021 08:51:45 PM CST.
Dependencies resolved.
Nothing to do.
Complete!

2021011313053460

回复

共6条回复 我来回复
  • 古哥的头像
    古哥
    联系邮箱:admin#iymark.com
    评论

    关于Centos 8升级Centos Stream 8的更多教程,可以参考我之前写的教程:

    Centos 8完美升级到Centos Stream 8教程

    Centos Stream 8升级后的dnf源同步bug

    2021年01月13日 21:07 0条评论
  • 古哥的头像
    古哥
    联系邮箱:admin#iymark.com
    评论

    随后,我又运行了dnf distro-sync来同步,会自动提示下载一个elrepo.repo;

    完成后,再次运行dnf distro-sync,会再次同步需要的几个依赖包。

    完成后,重启服务器即可。

    这时,我才发现这个elrepo.repo是被我刚才删掉的自认为多余的源,还好dnf够机智,又把源加回来了。

    到此,彻底解决了Centos Stream 8系统中的所有问题。

    2021年01月13日 21:15 0条评论
  • 古哥的头像
    古哥
    联系邮箱:admin#iymark.com
    评论

    2021011313172090

    完整的清理干净的repo源如上图所示

    2021年01月13日 21:17 0条评论
  • 古哥的头像
    古哥
    联系邮箱:admin#iymark.com
    评论

    没想到的是,我今天在查看var/log/dnf.log日志文件时,经常看到如下报错:

    2021-01-14T22:44:43+0800 DEBUG Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; Configuration: OptionBinding with id “failovermethod” does not exist

    很明显这是那天可能清理源时,没有删除的一个源。于是,我又去/etc/yum.repos.d目录,删掉了CentOS-epel.repo。

    然后执行如下命令:

    yum clean all
    yum makecache

    再次执行dnf distro-sync,开始同步,摁下y

    再次执行dnf distro-sync,等待提示,摁下y

    反复运行dnf distro-sync,直到提示无需更新为止。

    现在再去看dnf.log日志问题,已经没有任何报错信息了。

    2021011415011416

    2021011415011913

    2021011415012353

    最后,我的源变成了如下内容:

    2021011415023267

    2021年01月14日 23:02 0条评论
  • 古哥的头像
    古哥
    联系邮箱:admin#iymark.com
    评论

    最后再给各位附上,执行dnf distro-sync该命令后,在var/log/dnf.log日志文件中最新输出的正确内容大致应该为如下:

    2021-01-14T23:04:43+0800 INFO — logging initialized —
    2021-01-14T23:04:43+0800 DDEBUG timer: config: 2 ms
    2021-01-14T23:04:43+0800 DEBUG Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
    2021-01-14T23:04:43+0800 DEBUG DNF version: 4.4.2
    2021-01-14T23:04:43+0800 DDEBUG Command: dnf distro-sync
    2021-01-14T23:04:43+0800 DDEBUG Installroot: /
    2021-01-14T23:04:43+0800 DDEBUG Releasever: 8
    2021-01-14T23:04:43+0800 DEBUG cachedir: /var/cache/dnf
    2021-01-14T23:04:43+0800 DDEBUG Base command: distro-sync
    2021-01-14T23:04:43+0800 DDEBUG Extra commands: [‘distro-sync’]
    2021-01-14T23:04:43+0800 DEBUG User-Agent: constructed: ‘libdnf (CentOS Stream 8; generic; Linux.x86_64)’
    2021-01-14T23:04:43+0800 DEBUG repo: using cache for: appstream
    2021-01-14T23:04:43+0800 DEBUG appstream: using metadata from Sat 09 Jan 2021 04:03:18 AM CST.
    2021-01-14T23:04:43+0800 DEBUG repo: using cache for: baseos
    2021-01-14T23:04:43+0800 DEBUG baseos: using metadata from Sat 09 Jan 2021 04:03:12 AM CST.
    2021-01-14T23:04:43+0800 DEBUG repo: using cache for: extras
    2021-01-14T23:04:43+0800 DEBUG extras: using metadata from Fri 10 Jul 2020 10:19:28 PM CST.
    2021-01-14T23:04:43+0800 DEBUG repo: using cache for: powertools
    2021-01-14T23:04:43+0800 DEBUG powertools: using metadata from Sat 09 Jan 2021 04:03:33 AM CST.
    2021-01-14T23:04:43+0800 DEBUG repo: using cache for: elrepo
    2021-01-14T23:04:43+0800 DEBUG elrepo: using metadata from Thu 14 Jan 2021 06:01:02 PM CST.
    2021-01-14T23:04:43+0800 DEBUG repo: using cache for: epel-modular
    2021-01-14T23:04:43+0800 DEBUG epel-modular: using metadata from Thu 14 Jan 2021 10:08:11 AM CST.
    2021-01-14T23:04:43+0800 DEBUG repo: using cache for: epel
    2021-01-14T23:04:43+0800 DEBUG epel: using metadata from Thu 14 Jan 2021 10:03:13 AM CST.
    2021-01-14T23:04:43+0800 INFO Last metadata expiration check: 0:14:29 ago on Thu 14 Jan 2021 10:50:14 PM CST.
    2021-01-14T23:04:44+0800 DDEBUG timer: sack setup: 571 ms
    2021-01-14T23:04:44+0800 DEBUG Completion plugin: Generating completion cache…
    2021-01-14T23:04:44+0800 DEBUG –> Starting dependency resolution
    2021-01-14T23:04:44+0800 DEBUG –> Finished dependency resolution
    2021-01-14T23:04:44+0800 DDEBUG timer: depsolve: 161 ms
    2021-01-14T23:04:44+0800 INFO Dependencies resolved.
    2021-01-14T23:04:44+0800 INFO Nothing to do.
    2021-01-14T23:04:44+0800 INFO Complete!
    2021-01-14T23:04:44+0800 DDEBUG Cleaning up.

    其中没有任何的报警,最新的日志输出一般在日志文件最下方,注意前面的时间,就可以判断哪些日志是刚刚产生的了。

    2021年01月14日 23:07 0条评论
  • 古哥的头像
    古哥
    联系邮箱:admin#iymark.com
    评论

    正确的日志内容截图:

    2021011415093550

    2021年01月14日 23:09 0条评论
微信小程序
微信公众号