http://blog.csdn.net/kai27ks/article/details/7473683
前言:常用RPM的朋友们都知道,RPM简单易用,但是它的依赖关系是最头疼的!有时候比方说A包需要B包,B包需要C包,C包需要A包,好了。这就是最常见的死锁了(类似数据库有木有?)。这个时候有以下几种方式可以解决:
A、强制安装 ----暴力型
使用rpm -i --force --nodeps 强制安装。忽略依赖关系。这种方法你可以先装A包,再装B包,再装C包。这样还是有点隐患的,感觉不是很踏实(虽然其实目前没发现什么不好)。安装后使用成功的前提是:你要搞清楚依赖关系,并且把这些包都装好。好处是:不用管它们的具体依赖关系先后顺序。
B、一次性全装上--- 一网打尽型
可以把依赖的几个包拷出来放在同一个文件夹里 然后 rpm -ivn *.rpm 这样也可以 前提也是一个都不能少。
C、 使用yum技术安装 --使用服务器方式
yum是一个服务器资源技术。通过在线下载服务器资源的方式。 缺点:太繁琐。要设置一堆的东西。优点:设置以后,很方便,需要的大多数资源都可以从服务器上找到。这点感觉很像maven2有木有?
参考:http://wenku.baidu.com/view/428c851352d380eb62946ded.html
D、使用redhat提供的解决方案,安装依赖关系库(强烈推荐)
例子:先安装rpmdb,之后使用
# rpm -ivh --aid samba*.rpm (一定要安装rpmdb后才可以用这种方式安装排除依赖关系)
该命令会自动把依赖关系中需要安装的包都安装上,包括:
cups-libs-1.1.17-13.3.6.rpm
samba-common-3.0.0-14.3E.i386.rpm
samba-3.0.0-14.3E.i386.rpm
samba-client-3.0.0-14.3E.i386.rpm
可以很简单地解决直接安装samba-3.0.0-14.3E.i386.rpm或者samba-client-3.0.0-14.3E.i386.rpm对samba-common-3.0.0-14.3E.i386.rpm 的依赖,而安装 sambacommon-3.0.0-14.3E.i386.rpm 出现对都libcups.so.2库文件的依赖,而且该库文件所在的rpm包无法很快确定
上述方法可以很快解决依赖关系