关于软件包降级(解决软件安装的依赖问题)

转自:http://blog.163.com/wwthunan@126/blog/static/396261352009101881616290/

在Ubuntu中,安装软件时经常会遇到依赖不能满足的问题,即用sudo apt-get install安装软件无法成功。这时,一个很普遍的情况是,将要安装的软件B依赖于一个旧版本的软件A1.0,而系统中新版本软件为A2.0。这时需要做的,就是将A2.0降级为A1.0。Ubuntu不支持将软件包降级的操作,但是我们可以另辟蹊径。下面介绍两个案例(皆引自网友文章,但经过试验,证明是可行的)。


一、用dpkg安装旧版本软件。
这种方法,需要将旧版软件下载下来,一般是编译好的deb文件。然后使用命令:
dpkg -i --ignore-depends=abc.deb abc.deb
其中abc.deb是旧版本的软件。注意,dpkg可能会对文件名中字符有所挑剔,改名字即可。
引自:菜鸟解决Ubuntu依赖[免编译+分析思路+解决步骤]

二、用apt-get install安装。
这种方法用来控制软件的版本。比如,系统中有最新版本的python2.5.2-2ubuntu5,而我需要安装的python2.5.2-dev依赖于python2.5.2-2ubuntu5,于是,可以用命令:
sudo apt-get install python2.5-minimal=2.5.2-2ubuntu4.1 python2.5=2.5.2-2ubuntu4.1
引自 软件降级:python 从 2.5.2-2ubuntu5 到 2.5.2-2ubuntu4.1
引自
ubuntu下使用subclipse的JAVAHL功能

相关文章

适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本接口不兼容的类可以相互合作。
策略模式定义了一系列算法族,并封装在类中,它们之间可以互相替换,此模式让算法的变化独立于使用算法...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,它是针对软件开发中经常遇到的一些设计问题...
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,使得子类可以在不改变算法结...
迭代器模式提供了一种方法,用于遍历集合对象中的元素,而又不暴露其内部的细节。
外观模式又叫门面模式,它提供了一个统一的(高层)接口,用来访问子系统中的一群接口,使得子系统更容...