解决RPM包依赖的几种方法

前言:常用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包无法很快确定
     上述方法可以很快解决依赖关系

阅读更多
换一批

没有更多推荐了,返回首页