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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章