Linux服务器配置与管理系列---解决依赖关系破坏---yum回滚
2017-12-29 21:48
302 查看
软件包依赖关系破坏如何解决
软件包依赖关系破坏解决方案软件包依赖关系破坏如何解决
背景
报错现象
解决思路
步骤
yum回滚方法的拓展
1.背景
今天准备搭建一个DNS服务器,奈何在安装bind系列软件时候报错,提示软件包依赖关系破坏,不能安装。思考了一下,找到出错的原因:以前我用的是网易的CentOS源,用此源执行过一次yum upgrade命令,但是后来下载了一个系统镜像文件,搭建了一个本地yum源,更换成本地源后,这两个软件仓库有些不兼容,导致bind破坏了依赖关系而无法安装。2.报错现象
[root@localhost ~]# yum -y install bind ... ... Error: Package: glibc-2.12-1.192.el6.i686 (local) Requires: glibc-common = 2.12-1.192.el6 Installed: glibc-common-2.12-1.209.el6.x86_64 (@163/6Server) glibc-common = 2.12-1.209.el6 Available: glibc-common-2.12-1.192.el6.x86_64 (local) glibc-common = 2.12-1.192.el6 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest [root@localhost ~]#
3.解决思路
回滚到upgrade以前的环境即回到最初没有使用网易源的原始环境,然后就能解决依赖关系破坏的问题,接着就可使用本地仓库进行软件的安装了。4.步骤
a.查看yum安装/升级历史,确定回滚点[root@localhost ~]# yum history Loaded plugins: fastestmirror, product-id, refresh-packagekit, search-disabled-repos, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 4 | master <monsterhu> | 2017-12-28 14:22 | Install | 1 3 | master <monsterhu> | 2017-09-14 02:50 | I, U | 282 EE 2 | master <monsterhu> | 2017-09-14 02:39 | Install | 9 < 1 | System <unset> | 2017-09-13 15:21 | Install | 961 > history list [root@localhost ~]# # 从以上结果中可以看到:第3条记录通过网易的CentOS源进行了安装和升级,我们就回滚到这之前就好了
b.开始回滚
[root@localhost ~]# yum history rollback 2 ... ... yum-utils noarch 1.1.30-37.el6 local 112 k Transaction Summary ============================================================================================================================================================= Remove 3 Package(s) Downgrade 279 Package(s) Total download size: 345 M Is this ok [y/N]: y
c.回滚后就可愉快的安装上bind家族软件了
[root@localhost ~]# yum -y install bind ... ... Installed: bind.x86_64 32:9.8.2-0.47.rc1.el6 Complete!
d.注意事项
一定要找准出问题(依赖关系被破坏)的原因,以便确定回滚点id,千万不能错,不然回滚一点点不能解决问题,回滚多了就到最初版本,相当于刚刚装的新系统,那就麻烦了!
5.yum回滚方法的拓展
安装了不想要的软件,想回到没安的状态yum安装一个软件包是会连同依赖包一起安装,但是yum卸载时却只卸载这个文件包本身,此时使用回滚方法解决
相关文章推荐
- ubuntu 解决E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- 用YUM在内网解决RPM依赖关系!
- RHEL 5基础篇—使用yum解决rpm包的依赖关系
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系 解决办法
- 在RHEL5.0中用YUM解决RPM包的依赖关系
- rpm包的依赖关系如何通过yum解决
- Ubuntu 14.04—无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系 解决办法
- YUM解决RPM包安装依赖关系及yum工具介绍本地源配置方法详解
- 依赖关系的解决:程序包管理器的前段工具yum
- RHEL 5基础篇—使用yum解决rpm包的依赖关系
- redhat 安装yum教程(解决依赖关系)-bash: yum: command not found 问题解决
- 解决安装rpm包依赖关系的烦恼 - yum工具介绍及本地源配置方法
- ubuntu依赖关系--部分解决办法
- Spark RDD概念学习系列之RDD的依赖关系(宽依赖和窄依赖)(三)
- [大话IOC系列]--1.依赖关系
- 用dpkg-buildpackage制作deb包出现依赖 关系不满足解决方法
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- Entity Framework 6 Code First 实践系列(1):实体类配置-根据依赖配置关系和关联
- 解决Ubuntu下软件包依赖关系的若干方法