您可以尝试添加 --skip-broken 选项来解决该问题 您可以尝试执行:rpm -Va --nofiles --nodigest 解决方案
解决方法一、清除缓存
yum clean all
一种原因:
错误:软件包:python2-ldap-3.1.0-1.el7.x86_64 (centos-openstack-rocky-163) 需要:python2-pyasn1 >= 0.3.7 正在安装: python2-pyasn1-0.1.9-7.el7.noarch (c7-media)
提示:要求python2-pyasn1 >= 0.3.7(大于等于>=0.3.7的版本)但是在c7-media(在/etc/yum.repos.d/CentOS-Media.repo文件里)本地路径只找
到python2-pyasn1-0.1.9低于需要的版本,所以就报错。 如果你觉得旧版本不会影响 那么就可以用--skip-broken忽略这一提示继续按照,
但是最好用要求的版本,否则后期使用可能会出现奇怪的问题。
可能你当前有的源,没有要求的新版本,比如你只配置了本地光盘的源就只会找光盘里的文件。这时你要配置网络源,网络源也能使用的。
比如清华、科大或阿里云163的网络源,然后把本地源Centos-Media.repo文件里enabled=1改成enabled=0禁用
[root@CentOs7 ~]# sed -i 's#enabled=1#enabled=0#' /etc/yum.repo.d/CentOS-Media.repo
或者直接改文件后缀,只要不是repo就行。
[root@CentOs7 ~]# mv /etc/yum.repos.d/CentOS-Media.repo{,.bak}
另一种原因:可能你现在装的rpm版本比repo源里的版本高。先查询后,找到名字 在卸载
yum list installed |grep docker containerd.io.x86_64 1.4.3-3.1.el7 @docker-ce-stable docker-ce-cli.x86_64 1:20.10.2-3.el7 @docker-ce-stable [root@CentOs7 ~]# yum remove containerd.io.x86_64 docker-ce-cli.x86_64
还有一种可能:
商业源不齐全,可以换到教育网的源(毕竟每个公司不可能把所有的源都存下,那么就要去找找其他可以用的源。比如清华、科大的)
如果你安装了多个源,默认还是在163或aliyun你可以用yum的--enablerepo=源名称(就是repo文件里[]方括号里的名字,等号后不用加方括号)
如果你是想要做离线YUM包,
可以看这篇文章《yum 下载全量依赖 rpm 包及离线安装(终极解方案)》 http://cloud.tencent.com/developer/article/1614031
参考:
http://blog.csdn.net/qq_39796249/article/details/81944199
http://jb51.net/article/143233.htm