Chinaunix首页 | 论坛 | 博客
  • 博客访问: 852039
  • 博文数量: 90
  • 博客积分: 766
  • 博客等级: 军士长
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-18 08:42
个人简介

linux

文章分类

全部博文(90)

文章存档

2021年(2)

2020年(2)

2017年(1)

2015年(11)

2014年(1)

2013年(53)

2012年(16)

2011年(4)

分类: 系统运维

2013-02-26 09:24:29

        apt-get安装软件的循环依赖问题,却不知如何解决卸载包时的循环依赖问题。如果A依赖于B,B又依赖于C,C又依赖于A,此时要想用apt-get remove/purge都是不能卸载软件的。要想解决的循环依赖软件的删除问题,必须要用到另一个包管理器dpkg.

        dpkg和apt-get相比,两个都是软件包管理器,其不同点在于apt-get安装软件时可以解决包依赖问题,但dpkg却不能。

        dpkg解决循环依赖软件的删除问题的方法如下:

#dpkg --ignore-depends=<软件包C>-P <软件包A>

注:用dpkg -r是不行的,P选项要删除所有的配置文件,而r选项不能。否则,在删除一个被依赖软件包时,会安装另外一个软件依赖包,做的是无用功。

      --ignore-depneds选项,强制忽视列表当中的依赖包关系。


      这样问题可解决。


插曲:如果在卸载某个软件之前,手动的卸载了它的配置文件,然后再次安装该软件,该软件包的配置文件不能把正确安装,此时如果要解决这个问题,需要查明系统当中所有的相关软件。

#dpkg --get-selections | grep <软件包名>

如果这些软件是循环依赖的,在用上面介绍的删除循环依赖软件的方法来删除软件。然后在重新安装需要安装的软件。


阅读(7910) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~