首页 > 技术文章 > yum您可以尝试添加 --skip-broken 选项来解决该问题 您可以尝试执行:rpm -Va --nofiles --nodigest 解决方案

wutou 2021-01-15 23:08 原文

您可以尝试添加 --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

 

  

yum 下载全量依赖 rpm 包及离线安装(终极解决方案)

推荐阅读