歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux中軟件包依賴 煩到你了麼

Linux中軟件包依賴 煩到你了麼

日期:2017/2/28 16:47:56   编辑:Linux教程

在Linux系統中,軟件包的依賴關系讓人很是頭疼。如在安裝Linux系統時,不是選擇安裝所有的軟件包。在安裝完Linux系統後,若再進行軟件安裝的話,就可能會遇到一些依賴關系的問題,如在安裝PHP軟件包時,系統就可能會提示一些錯誤信息。說需要其他的一些軟件包的支持。其實類似的情況在Windows中也會遇到。如有時候安裝一些應用軟件可能對浏覽器的版本會有要求或者要求操作系統的補丁達到SP2以上等等。不過在微軟操作系統上這種軟件依賴關系要比在Linux系統中少見的多,而且處理起來也方便一些。

  那麼Linux操作系統中如果遇到這種軟件包依賴關系的話,該如何處理呢?在談這個具體的解決措施之前,我先跟大家說說在哪些情況下容易出現軟件包的依賴關系問題。

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

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

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

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

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

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

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

Copyright © Linux教程網 All Rights Reserved