RPM 軟件包(包含 SRPM 包)的依賴性主要體現(xiàn)在 RPM 包安裝與卸載的過(guò)程中。
例如,如果采用最基礎(chǔ)的方式(基礎(chǔ)服務(wù)器方式)安裝 linux 系統(tǒng),則 gcc 這個(gè)軟件是沒(méi)有安裝的,需要自己手工安裝。當(dāng)你使用 rpm 命令安裝 gcc 軟件的 RPM 包,就會(huì)發(fā)生依賴性錯(cuò)誤,錯(cuò)誤提示信息如下所示:
[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ gcc-4.4.6-4.el6.i686.rpm
error: Failed dependencies: <―依賴性錯(cuò)誤
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
報(bào)錯(cuò)信息提示我們,如果要安裝 gcc,需要先安裝 cloog-ppl、cpp 和 glibc-devel 三個(gè)軟件,這體現(xiàn)的就是 RPM 包的依賴性。
除此之外,報(bào)錯(cuò)信息中還會(huì)明確給出各個(gè)依賴軟件的版本要求:
">=":表示版本要大于或等于所顯示版本;
"<=":表示版本要小于或等于所顯示版本;
"=":表示版本要等于所顯示版本;
Linux 系統(tǒng)中,RPM 包之間的依賴關(guān)系大致可分為以下 3 種:
樹(shù)形依賴(A-B-C-D):要想安裝軟件 A,必須先安裝 B,而安裝 B 需要先安裝 C…….解決此類型依賴的方法是從后往前安裝,即先安裝 D,再安裝 C,然后安裝 B,最后安裝軟件 A。
環(huán)形依賴(A-B-C-D-A):各個(gè)軟件安裝的依賴關(guān)系構(gòu)成“環(huán)狀”。解決此類型依賴的方法是用一條命令同時(shí)安裝所有軟件包,即使用 rpm -ivh 軟件包A 軟件包B ...。
模型依賴:軟件包的安裝需要借助其他軟件包的某些文件(比如庫(kù)文件),解決模塊依賴最直接的方式是通過(guò) http://m.survivalescaperooms.com/d/file/20190906/vivnwls0anx.net 網(wǎng)站找到包含此文件的軟件包,安裝即可。
以上 3 種 RPM 包的依賴關(guān)系,給出的解決方案都是手動(dòng)安裝,比較麻煩。在后續(xù)的章節(jié)中,我們將系統(tǒng)學(xué)習(xí)使用 yum 命令查詢、安裝、升級(jí)和卸載軟件包的方法。
yum,全稱"Yellow dog Updater,Modified",CentOS 系統(tǒng)上的軟件包管理器,它能夠自動(dòng)下載 RPM 包并安裝,更重要的是,它可以自動(dòng)處理軟件包之間的依賴性關(guān)系,一次性安裝所有依賴的軟件包,無(wú)需一個(gè)個(gè)安裝。
新聞熱點(diǎn)
疑難解答
圖片精選