首頁 > linux教程 > Linux軟件安裝 閱讀:0更新時間:2020-03-28 00:57:42

RPM包的依賴性及其解決方案

RPM 軟件包(包含 SRPM 包)的依賴性主要體現在 RPM 包安裝與卸載的過程中。

例如,如果采用最基礎的方式(基礎服務器方式)安裝 linux 系統,則 gcc 這個軟件是沒有安裝的,需要自己手工安裝。當你使用 rpm 命令安裝 gcc 軟件的 RPM 包,就會發生依賴性錯誤,錯誤提示信息如下所示:

[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ gcc-4.4.6-4.el6.i686.rpm
error: Failed dependencies: <―依賴性錯誤
cloog-ppi >= 0.15 is needed by gcc-4.4.6-4.el6.i686
cpp = 4.4.6-4.el6 is needed by gcc-4.4.6-4.el6.i686
glibc-devel >= 2.2.90-12 is needed by gcc-4.4.6-4.el6.i686

報錯信息提示我們,如果要安裝 gcc,需要先安裝 cloog-ppl、cpp 和 glibc-devel 三個軟件,這體現的就是 RPM 包的依賴性。

除此之外,報錯信息中還會明確給出各個依賴軟件的版本要求:

  • ">=":表示版本要大于或等于所顯示版本;

  • "<=":表示版本要小于或等于所顯示版本;

  • "=":表示版本要等于所顯示版本;


Linux 系統中,RPM 包之間的依賴關系大致可分為以下 3 種:

  1. 樹形依賴(A-B-C-D):要想安裝軟件 A,必須先安裝 B,而安裝 B 需要先安裝 C&hellip;&hellip;.解決此類型依賴的方法是從后往前安裝,即先安裝 D,再安裝 C,然后安裝 B,最后安裝軟件 A。

  2. 環形依賴(A-B-C-D-A):各個軟件安裝的依賴關系構成&ldquo;環狀&rdquo;。解決此類型依賴的方法是用一條命令同時安裝所有軟件包,即使用 rpm -ivh 軟件包A 軟件包B ...。

  3. 模型依賴:軟件包的安裝需要借助其他軟件包的某些文件(比如庫文件),解決模塊依賴最直接的方式是通過 http://www.beylze.com/d/file/20190906/vivnwls0anx.net 網站找到包含此文件的軟件包,安裝即可。


以上 3 種 RPM 包的依賴關系,給出的解決方案都是手動安裝,比較麻煩。在后續的章節中,我們將系統學習使用 yum 命令查詢、安裝、升級和卸載軟件包的方法。

yum,全稱"Yellow dog Updater,Modified",CentOS 系統上的軟件包管理器,它能夠自動下載 RPM 包并安裝,更重要的是,它可以自動處理軟件包之間的依賴性關系,一次性安裝所有依賴的軟件包,無需一個個安裝。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩