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源删掉,比如我的删除情况如下:
然后执行如下命令重建缓冲:
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!
关于Centos 8升级Centos Stream 8的更多教程,可以参考我之前写的教程:
2021年01月13日 21:07随后,我又运行了dnf distro-sync来同步,会自动提示下载一个elrepo.repo;
完成后,再次运行dnf distro-sync,会再次同步需要的几个依赖包。
完成后,重启服务器即可。
这时,我才发现这个elrepo.repo是被我刚才删掉的自认为多余的源,还好dnf够机智,又把源加回来了。
到此,彻底解决了Centos Stream 8系统中的所有问题。
2021年01月13日 21:15完整的清理干净的repo源如上图所示
2021年01月13日 21:17没想到的是,我今天在查看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日志问题,已经没有任何报错信息了。
最后,我的源变成了如下内容:
2021年01月14日 23:02最后再给各位附上,执行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正确的日志内容截图:
2021年01月14日 23:09