文档章节

cenos7排错之yum依赖错误处理:清理重复的rpm包_无需整理

辣条拌鱼翅
 辣条拌鱼翅
发布于 2015/12/17 17:54
字数 528
阅读 413
收藏 3

使用fedora/redhat/centos系列的linux发行版,有时会因为某些非正常原因(异常断电居多)造成yum/rpm错误,表现是在运行yum时出现依赖包错误,仔细查看其相关包,会发现这些包是矛盾的版本号依赖。这种情况下,通常就是本机rpm数据库里记录了某个rpm包多个版本(可能事实上只装了一个版本),通过rpm -q {包名} 会查出来多个版本,例如

[root@fscfedora feng]# rpm -q audit
audit-2.3.2-1.fc20.x86_64
audit-2.3.3-1.fc20.x86_64

我们需要删除其中一个包,通常删除旧版本的包,命令: rpm -e {带版本号的完整包名}。

但这时通过yum或rpm -e移除该包时,有时仍旧出现依赖错误。

这是可以通过rpm 的 --noscript参数,硬性移除该包(指定完整的版本号),例如

[root@fscfedora feng]# rpm -e --noscripts audit-2.3.2-1.fc20.x86_64

然后再检查该包,会发现少了已删除的那个。然后继续yum吧,如果还有类似情况,同法处理之。

tips,我们还可以运行 yum check 检查是否有类似的错误包。

------------------------

参考脚本:

[root@fscfedora feng]# rpm -q audit
audit-2.3.2-1.fc20.x86_64
audit-2.3.3-1.fc20.x86_64
[root@fscfedora feng]# rpm -e --noscripts audit-2.3.2-1.fc20.x86_64
[root@fscfedora feng]# rpm -q audit
audit-2.3.3-1.fc20.x86_64
[root@fscfedora feng]#

典型错误示例:

--> 解决依赖关系完成
错误:软件包:glibc-devel-2.18-11.fc20.x86_64 (@anaconda)
需要:glibc-headers = 2.18-11.fc20
正在删除: glibc-headers-2.18-11.fc20.x86_64 (@anaconda)
glibc-headers = 2.18-11.fc20
更新,由: glibc-headers-2.18-12.fc20.x86_64 (updates)
glibc-headers = 2.18-12.fc20
 您可以尝试添加 --skip-broken 选项来解决该问题
** 发现 19 个已存在的 RPM 数据库问题, 'yum check' 输出如下:
1:NetworkManager-0.9.9.0-24.git20131003.fc20.x86_64 有缺少的需求 NetworkManager-glib(x86-64) = ('1', '0.9.9.0', '24.git20131003.fc20')
1:NetworkManager-0.9.9.0-28.git20131003.fc20.x86_64 是 1:NetworkManager-0.9.9.0-24.git20131003.fc20.x86_64 的副本
audit-2.3.2-1.fc20.x86_64 有缺少的需求 audit-libs = ('0', '2.3.2', '1.fc20')


本文转载自:http://www.path8.net/tn/archives/5974

辣条拌鱼翅
粉丝 25
博文 268
码字总数 73301
作品 0
朝阳
程序员
私信 提问
Linux下软件安装与卸载:rpm和yum工具

一、rpm工具 rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。R...

BatmanLinux
2018/01/08
0
0
yum命令的使用

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,...

ugali
2017/08/16
0
0
大数据教程(2.5):Linux系统搭建本地YUM源服务器

今天博主主要分享Linux系统中的一种软件安装方式YUM,主要针对人群包括运维、开发、项目经理等等。当然,如果你对这块知识已经非常熟悉,那请移步博主其它文章。 一、YUM相关概念 Yum(全称为...

em_aaron
2018/07/09
72
0
CentOS7 yum 源的配置与使用

YUM:Yellowdog Updater Modified Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM...

xjxiaolei
2015/09/17
0
0
0330 第九次课:软件包安装及卸载

软件包安装及卸载 一、软件安装包的三种方法 rpm方式安装 rpm安装类似于windows的exe安装包。rpm安装路径和配置都是固定的,如果包之间有依赖关系则需要手动安装依赖包。 yum安装 yum是用pyt...

wxy丶
04/01
9
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
15分钟前
1
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
54分钟前
4
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
58分钟前
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部