linux認證:Linux中軟件包依賴煩到你了么

字號:

在Linux系統(tǒng)中,軟件包的依賴關系讓人很是頭疼。如在安裝Linux系統(tǒng)時,不是選擇安裝所有的軟件包。在安裝完Linux系統(tǒng)后,若再進行軟件安裝的話,就可能會遇到一些依賴關系的問題,如在安裝PHP軟件包時,系統(tǒng)就可能會提示一些錯誤信息。說需要其他的一些軟件包的支持。其實類似的情況在Windows中也會遇到。如有時候安裝一些應用軟件可能對瀏覽器的版本會有要求或者要求操作系統(tǒng)的補丁達到SP2以上等等。不過在微軟操作系統(tǒng)上這種軟件依賴關系要比在Linux系統(tǒng)中少見的多,而且處理起來也方便一些。
    那么Linux操作系統(tǒng)中如果遇到這種軟件包依賴關系的話,該如何處理呢?在談這個具體的解決措施之前,我先跟大家說說在哪些情況下容易出現軟件包的依賴關系問題。
    一是在操作系統(tǒng)安裝的時候,沒有選擇全部的軟件包。大部分時候出于安全或者其他方面的原因,Linux系統(tǒng)管理員往往不會選擇安裝全部的軟件包。而只是安裝一些運行相關服務所必要的軟件包。但是有時候系統(tǒng)管理員可能并不清楚哪些軟件包是必須要裝的,否則后續(xù)的一些服務將無法啟動;而那些軟件包則是可選的。由于在系統(tǒng)安裝的時候很難一下子弄清楚這些內容,故在Linux系統(tǒng)安裝完畢后,再部署其他一些軟件包的時候,就容易出現這個問題。
    二是在Linux服務器上追加其他的一些應用服務時,容易出現類似的問題。如有一次企業(yè)需要使用一個Oracle數據庫,我就在原先的文件服務器上安裝Oracle數據庫。但是在Linux操作系統(tǒng)上安裝Oracle服務器是一個很頭疼的問題,需要安裝不少的軟件包。而我一開始部署Linux文件服務器的時候又不知道后來需要安裝Oracle數據庫,故不少的軟件包都沒有裝。而且后來發(fā)現,不少的軟件包其實在Linux安裝盤中還沒有,需要自己到網上去下。所以,如果要在原先已經部署好的Linux服務器中追加一些應用服務時,很容易出現這個軟件包的依賴問題。
    其實解決這個軟件包的依賴問題說簡單也不簡單,說復雜也不復雜。我下面總結了幾個方法,各位若有需要的話可以借鑒一下。
    一、根據錯誤提示信息在安裝光盤中尋找。
    在安裝軟件包時如果遇到軟件依賴關系問題時,通常情況下系統(tǒng)都會提示相關的信息。如提示“l(fā)ibgd.so.1.8 is needey by php-4.2.2-17”等等。這就表示安裝PHP程序時,需要先安裝libgd.so軟件包。當遇到這個問題時,我建議系統(tǒng)管理員可以根據這個提示信息,先從Linux系統(tǒng)的安裝盤中查找一下是否有這個軟件包。
    如上圖所示,在Linux安裝盤中的RPMS目錄下面就存放著大量的軟件包。通常情況下,像上面的libgd.so等常見的軟件包都可以從這個光盤中找到。所以系統(tǒng)管理員根據系統(tǒng)的錯誤提示信息,就可以了解到安裝某個軟件之前先要安裝那個軟件包。然后從系統(tǒng)光盤中找到這個軟件包,并進行安裝即可。另外需要說明的是,向RedHat操作系統(tǒng),如果采用的是CD安裝盤,則其可能有很多張光盤。而這些軟件包往往不是存儲在一張CD光盤中的。不過可以肯定的是,每張光盤下都會有RPMS這個目錄。當系統(tǒng)管理員不知道某個軟件包存儲在哪個盤中的話,則可以一張張的找過去。雖然比較麻煩一點,但是大部分情況下都會有收獲的。
    不過如果采用這個方法有一個限制。像安裝Oracle這種大型的應用軟件就不怎么適用。因為安裝這種大型的軟件本身就比較花費時間。如果等到安裝失敗之后再根據錯誤提示來安裝軟件包的話,則重復來重復去會浪費很多的時間,而且也會讓系統(tǒng)產生很多的垃圾文件。為此除非是一些小型的軟件包,否則的話,還是根據下面我要介紹的方法來做,以節(jié)省軟件安裝的時間。
    二、參考官方的文檔。
    通常情況下,一些軟件的官方文檔會說明安裝它們的軟件需要哪些軟件包。如在安裝Oracle數據庫時,就必須需要安裝不少的軟件包。到底需要安裝哪些軟件包,在Oracle的官方網站上都會有詳細的說明。我在安裝Oracle數據庫時,就先安裝這個說明,一一來驗證Linux系統(tǒng)中是否安裝了這些軟件包。如果沒有安裝的話,就馬上裝上去。此時各位Linux系統(tǒng)管理員不要抱著僥幸心理,已經不安裝不會有大問題,這是大錯特錯了。對于Oracle 公司官方網站建議的軟件包在Oracle數據庫系統(tǒng)安裝之前必須一五一十的安裝上去。否則的話輕則導致數據庫安裝失敗,重者的話會導致后續(xù)數據庫運行不穩(wěn)定。
    其實不光是Oracle數據庫系統(tǒng),其他的一些應用軟件對Linux系統(tǒng)都會有類似的要求。它們要求在安裝它們的應用軟件之前,Linux系統(tǒng)必須安裝有某些軟件包,否則的話安裝就會失敗。所以我建議各位Linux系統(tǒng)管理員,在安裝這些軟件之前,先到官方網站上去尋找類似的文檔,然后對照文檔的內容去驗證Linux系統(tǒng)是否安裝了這些軟件包。如此的話就可以避免軟件包依賴關系的問題。另外,在網絡上也可以尋找到很多有用的價值。有些安裝過這個軟件的Linux系統(tǒng)管理員,會把自己安裝過程中系統(tǒng)遇到的軟件包依賴關系列舉出來,會一一說明需要先安裝哪些軟件包。這些網絡上的文檔雖然其專業(yè)性可能沒有官方提供的文檔那么專業(yè)。但是對我們來說也具有很大的參考價值。