Bootstrap

rpm 安装 忽略依赖_解决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有木有?

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包无法很快确定

上述方法可以很快解决依赖关系

;