溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何理解Linux軟件包依賴問題

發(fā)布時間:2021-11-02 16:50:26 來源:億速云 閱讀:965 作者:柒染 欄目:系統(tǒng)運維

如何理解Linux軟件包依賴問題,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

Linux軟件包依賴關(guān)系讓很多使用Linux的人感到很麻煩。在安裝Linux系統(tǒng)時,不是選擇安裝所有的軟件包。在完成安裝后,若再進行軟件安裝的話,就可能會遇到一些依賴關(guān)系的問題,如在安裝某些編程軟件包時,系統(tǒng)就可能會提示一些錯誤信息。說需要其他的一些軟件包的支持。

遇到這種Linux軟件包依賴關(guān)系的話,該如何處理呢?在談這個具體的解決措施之前,我先跟大家說說在哪些情況下容易出現(xiàn)軟件包的依賴關(guān)系問題。

一是在操作系統(tǒng)安裝的時候,沒有選擇全部的軟件包。大部分時候出于安全或者其他方面的原因,Linux系統(tǒng)管理員往往不會選擇安裝全部的軟件包。而只是安裝一些運行相關(guān)服務(wù)所必要的軟件包。但是有時候系統(tǒng)管理員可能并不清楚哪些軟件包是必須要裝的,否則后續(xù)的一些服務(wù)將無法啟動;而那些軟件包則是可選的。由于在系統(tǒng)安裝的時候很難一下子弄清楚這些內(nèi)容,故在Linux系統(tǒng)安裝完畢后,再部署其他一些軟件包的時候,就容易出現(xiàn)這個問題。

二是在Linux服務(wù)器上追加其他的一些應(yīng)用服務(wù)時,容易出現(xiàn)類似的問題。如有一次企業(yè)需要使用一個Oracle數(shù)據(jù)庫,我就在原先的文件服務(wù)器上安裝Oracle數(shù)據(jù)庫。但是在Linux操作系統(tǒng)上安裝Oracle服務(wù)器是一個很頭疼的問題,需要安裝不少的軟件包。而我一開始部署Linux文件服務(wù)器的時候又不知道后來需要安裝Oracle數(shù)據(jù)庫,故不少的軟件包都沒有裝。而且后來發(fā)現(xiàn),不少的軟件包其實在Linux安裝盤中還沒有,需要自己到網(wǎng)上去下。所以,如果要在原先已經(jīng)部署好的Linux服務(wù)器中追加一些應(yīng)用服務(wù)時,很容易出現(xiàn)這個軟件包的依賴問題。

其實解決這個Linux軟件包依賴問題說簡單也不簡單,說復(fù)雜也不復(fù)雜。我下面總結(jié)了幾個方法,各位若有需要的話可以借鑒一下。

一、根據(jù)錯誤提示信息在安裝光盤中尋找。

在安裝軟件包時如果遇到軟件依賴關(guān)系問題時,通常情況下系統(tǒng)都會提示相關(guān)的信息。如提示“l(fā)ibgd.so.1.8 is needey by php-4.2.2-17”等等。這就表示安裝PHP程序時,需要先安裝libgd.so軟件包。當(dāng)遇到這個問題時,我建議系統(tǒng)管理員可以根據(jù)這個提示信息,先從Linux系統(tǒng)的安裝盤中查找一下是否有這個軟件包。

如上圖所示,在Linux安裝盤中的RPMS目錄下面就存放著大量的軟件包。通常情況下,像上面的libgd.so等常見的軟件包都可以從這個光盤中找到。所以系統(tǒng)管理員根據(jù)系統(tǒng)的錯誤提示信息,就可以了解到安裝某個軟件之前先要安裝那個軟件包。然后從系統(tǒng)光盤中找到這個軟件包,并進行安裝即可。另外需要說明的是,向RedHat操作系統(tǒng),如果采用的是CD安裝盤,則其可能有很多張光盤。而這些軟件包往往不是存儲在一張CD光盤中的。不過可以肯定的是,每張光盤下都會有RPMS這個目錄。當(dāng)系統(tǒng)管理員不知道某個軟件包存儲在哪個盤中的話,則可以一張張的找過去。雖然比較麻煩一點,但是大部分情況下都會有收獲的。

不過如果采用這個方法有一個限制。像安裝Oracle這種大型的應(yīng)用軟件就不怎么適用。因為安裝這種大型的軟件本身就比較花費時間。如果等到安裝失敗之后再根據(jù)錯誤提示來安裝軟件包的話,則重復(fù)來重復(fù)去會浪費很多的時間,而且也會讓系統(tǒng)產(chǎn)生很多的垃圾文件。為此除非是一些小型的軟件包,否則的話,***還是根據(jù)下面我要介紹的方法來做,以節(jié)省軟件安裝的時間。

二、參考官方的文檔。

通常情況下,一些軟件的官方文檔會說明安裝它們的軟件需要哪些軟件包。如在安裝Oracle數(shù)據(jù)庫時,就必須需要安裝不少的軟件包。到底需要安裝哪些軟件包,在Oracle的官方網(wǎng)站上都會有詳細的說明。我在安裝Oracle數(shù)據(jù)庫時,就先安裝這個說明,一一來驗證Linux系統(tǒng)中是否安裝了這些軟件包。如果沒有安裝的話,就馬上裝上去。此時各位Linux系統(tǒng)管理員不要抱著僥幸心理,已經(jīng)不安裝不會有大問題,這是大錯特錯了。對于Oracle公司官方網(wǎng)站建議的軟件包在Oracle數(shù)據(jù)庫系統(tǒng)安裝之前必須一五一十的安裝上去。否則的話輕則導(dǎo)致數(shù)據(jù)庫安裝失敗,重者的話會導(dǎo)致后續(xù)數(shù)據(jù)庫運行不穩(wěn)定。

其實不光是Oracle數(shù)據(jù)庫系統(tǒng),其他的一些應(yīng)用軟件對Linux系統(tǒng)都會有類似的要求。它們要求在安裝它們的應(yīng)用軟件之前,Linux系統(tǒng)必須安裝有某些軟件包,否則的話安裝就會失敗。所以我建議各位Linux系統(tǒng)管理員,在安裝這些軟件之前,***先到官方網(wǎng)站上去尋找類似的文檔,然后對照文檔的內(nèi)容去驗證Linux系統(tǒng)是否安裝了這些軟件包。如此的話就可以避免軟件包依賴關(guān)系的問題。另外,在網(wǎng)絡(luò)上也可以尋找到很多有用的價值。有些安裝過這個軟件的Linux系統(tǒng)管理員,會把自己安裝過程中系統(tǒng)遇到的軟件包依賴關(guān)系列舉出來,會一一說明需要先安裝哪些軟件包。這些網(wǎng)絡(luò)上的文檔雖然其專業(yè)性可能沒有官方提供的文檔那么專業(yè)。但是對我們來說也具有很大的參考價值。

三、從專業(yè)網(wǎng)絡(luò)上查詢。

為了正確安裝某些軟件包,需要安裝一些文件。可是有時候系統(tǒng)管理員可能根據(jù)系統(tǒng)的提示還不能夠確定到底安裝哪些軟件包才會有這些文件。特別是對于一些不常用的軟件包或者系統(tǒng)管理員***次接觸的軟件包往往會遇到這種問題。此時,系統(tǒng)管理員就可以到一些專業(yè)的網(wǎng)站上去查詢。這里我給大家介紹一個很不錯的網(wǎng)站,即http://rpmfind.net。系統(tǒng)管理員只需要在這個網(wǎng)站搜索的地方輸入需要的文件名字,如libgd.so,則搜索結(jié)果中就會顯示需要安裝哪個軟件包才具有這個文件。找到這個軟件包的名字之后,只需要從光盤或者網(wǎng)絡(luò)上下載這個軟件包進行安裝即可。當(dāng)然,在安裝這些軟件包的時候,可能還會遇到其他軟件包依賴關(guān)系的問題。如安裝php軟件包需要libgd.so文件,而這個文件屬于gb軟件包。但是在安裝gb軟件包時,可能這個軟件包跟其他軟件包又具有依賴關(guān)系,又需要安裝其他軟件包才行。此時系統(tǒng)管理員就需要耐心的一一按順序進行解決了。

可見大部分情況下,在遇到軟件包依賴關(guān)系問題的時候,操作系統(tǒng)提供的文件名字與軟件包名字都會有直接的聯(lián)系。有可能文件的名字就是軟件包的名字。但是有些時候文件的名字與軟件包的名字會相差甚遠。此時大部分系統(tǒng)管理員可能光憑文件名字無法找到對應(yīng)的軟件包。此時就需要借助筆者上面談到的一些專業(yè)網(wǎng)站,去查詢軟件包的名字了。

另外我還有一個小建議。當(dāng)系統(tǒng)管理員安裝了某個軟件之后,如果存在軟件包之間的依賴關(guān)系,則***能夠拿本子或者通過其他手段記錄下來。因為在以后的工作中很有可能還會需要安裝這些軟件。如此的話,在下次安裝的時候就不用這么麻煩了??梢詫φ找郧暗墓P記直接安裝需要的軟件包。畢竟在同一個地方摔倒多次不是什么光彩的事情。

以上這些就是我解決Linux軟件包依賴關(guān)系問題的絕招。

看完上述內(nèi)容,你們掌握如何理解Linux軟件包依賴問題的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI