前言:常用RPM的朋友們都知道畦木,RPM簡(jiǎn)單易用,但是它的依賴關(guān)系是最頭疼的砸泛!有時(shí)候比方說A包需要B包十籍,B包需要C包,C包需要A包唇礁,好了勾栗。這就是最常見的死鎖了(類似數(shù)據(jù)庫(kù)有木有?)盏筐。這個(gè)時(shí)候有以下幾種方式可以解決:
A 強(qiáng)制安裝 ----暴力型
使用rpm -i --force --nodeps 強(qiáng)制安裝围俘。忽略依賴關(guān)系。這種方法你可以先裝A包琢融,再裝B包界牡,再裝C包。這樣還是有點(diǎn)隱患的漾抬,感覺不是很踏實(shí)(雖然其實(shí)目前沒發(fā)現(xiàn)什么不好)宿亡。安裝后使用成功的前提是:你要搞清楚依賴關(guān)系,并且把這些包都裝好纳令。好處是:不用管它們的具體依賴關(guān)系先后順序挽荠。
B 一次性全裝上--- 一網(wǎng)打盡型
可以把依賴的幾個(gè)包拷出來放在同一個(gè)文件夾里 然后 rpm -ivn *.rpm 這樣也可以 前提也是一個(gè)都不能少。
C 使用yum技術(shù)安裝 --使用服務(wù)器方式
yum是一個(gè)服務(wù)器資源技術(shù)平绩。通過在線下載服務(wù)器資源的方式圈匆。 缺點(diǎn):太繁瑣。要設(shè)置一堆的東西捏雌。優(yōu)點(diǎn):設(shè)置以后跃赚,很方便,需要的大多數(shù)資源都可以從服務(wù)器上找到腹忽。這點(diǎn)感覺很像maven2有木有来累?
參考:http://wenku.baidu.com/view/428c851352d380eb62946ded.html
D 使用redhat提供的解決方案,安裝依賴關(guān)系庫(kù)(強(qiáng)烈推薦)
例子:先安裝rpmdb,之后使用
rpm -ivh --aid samba*.rpm (一定要安裝rpmdb后才可以用這種方式安裝排除依賴關(guān)系) 該命令會(huì)自動(dòng)把依賴關(guān)系中需要安裝的包都安裝上窘奏,包括: 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 可以很簡(jiǎn)單地解決直接安裝samba-3.0.0-14.3E.i386.rpm或者samba-client-3.0.0-14.3E.i386.rpm對(duì)samba-common-3.0.0-14.3E.i386.rpm 的依賴嘹锁,而安裝 sambacommon-3.0.0-14.3E.i386.rpm 出現(xiàn)對(duì)都libcups.so.2庫(kù)文件的依賴,而且該庫(kù)文件所在的rpm包無法很快確定 上述方法可以很快解決依賴關(guān)系