1. 程式人生 > >解決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包無法很快確定
     上述方法可以很快解決依賴關係