在安裝RedHat或者是其他相關版本的 Linux 時,最討厭的地方就是在 rpm 的相依屬性了,這是因為rpm當初在製作封包的時候,主要是針對某一個特定的系統來進行的,因此,如果你上過 Red Hat 的網站的話,那你就會發現,同一個套件在不同版本的 Red Hat 竟然就需要使用不同的 rpm 檔案!也就是說,如果你的系統與當初製作rpm封包的那個系統不相同的話,那就非常容易出現相依檔案找不到的窘境!而如果要一個一個的安裝好所有的相依檔案,那是非常頭痛的一件事,因此,通常我都是建議就直接使用 binary 的方法安裝即可!

這裡先說一下幾個觀念:
  1. rpm 是某些高手(或廠商)針對某一個特定系統所製作的軟體套件封包,所以,除非你的系統與該製作者相同,否則就很容易出現無法順利安裝的情況,這種類型的檔案附檔名通常為 ***.rpm;
  2. binary 檔案:這是軟體開發商寫的,因為該軟體預設是適合於所有的系統,所以使用 binary 的方式安裝幾乎是一定可以成功的,這種檔案附檔名通常為 .gz(壓縮檔)!

那為何不直接使用 binary 就好呢?使用 rpm 不是很麻煩嗎?!這是因為 rpm 檔案在移除與資訊管理上較為便利之故,所以,有些特定人士就很喜歡使用 rpm 來安裝套件(例如輸入rpm -q apache 就可以知道你的 apache 版本了,這樣一來會比較容易瞭解你的系統狀況,尤其是在 server 移交給下一任網管人員的時候,rpm 可就有用的很囉)。

那要如何安裝 .gz 的檔案呢?通常是解壓縮之後(通常是使用 tar -zxvf *.tar.gz),在產生的目錄中觀察一下 INSTALL 或者是 README 等檔案,應該就可以瞭解安裝的步驟了!通常的安裝步驟是:

./configure (在檢視你的系統並製作安裝參數檔案,如 config.h 或 Makefile 等檔案)
make clean (清除前一次安裝的編譯檔)
make (開始以你的系統來編譯)
make install (將編譯完成的咚咚安裝到你的系統)

大致上就是這樣了。

那如果我就是要使用 RPM 安裝有相依屬性問題的軟體呢?那大概就只有兩個方法了:
  1. 到各主要的 FTP 系載網站下載每一個相依套件的軟體來一步一步安裝!
  2. 不管三七二十一,直接以 rpm -ivh --nodeps ***.rpm 來安裝,這個 --nodeps 就是不管相依屬性的意思!不過,這種安裝的方法會有什麼困擾?!那就不曉得囉!