通過前面的學習我們知道,使用 RPM 包(或 SRPM 包)和原始碼包都可以實現軟體的安裝和升級。那麼,如果要對軟體進行升級,又或是安裝新的軟體,應該選擇哪種安裝方式呢?
注意,由於 SRPM 包本質上依然為 RPM 包,因此本節將 SRPM 包安裝歸屬於 RPM 包安裝方式。
軟體安裝方式的選擇,涉及到的因素有很多,本節總結了以下幾點建議。
1) 優先選擇系統自帶的 RPM 包
通常情況下,開發商提供的軟體都具有一段時間的維護期,比如說,RHEL 和 CentOS 每個版本都至少提供 5 年以上的升級期限,對我們的系統安全性來說,有極大的好處。
借助 yum 自動升級,再加上系統持續維護軟體(不斷進行軟體升級),可以保證我們的系統始終保持在最新的狀態,當然系統安全性就會好很多。
不僅如此,使用 yum 安裝的 RPM 軟體包具有容易安裝、解除安裝和升級的特點,而且還提供查詢和驗證的功能,安裝時更有數位憑證的保護,這些無疑會使軟體管理變得更輕鬆!
綜合以上因素,建議大家安裝軟體的首選方式是利用系統自帶的 RPM 包安裝。
2) 選擇軟體官網提供的 RPM 包(或者儲存此包不同版本的網址)
某些特殊軟體,Linux(及其發行版)系統可能並不會提供其 RPM 軟體包,例如 CentOS 不提供 NTFS 的相關模組。這種情況下,就需要我們自行去該軟體官網上搜尋,看是否提供有和自己 Linux 系統相匹配的 RPM 安裝包。除此之外,如果官網上提供有可下載該軟體不同版本的網址,可以直接將其作為 yum 源,從而實現軟體的自動安裝和升級。
3) 用原始碼包安裝特殊軟體
對於有某些特殊用途的軟體,開發商根本不提供 RPM 包,這裡也不建議你自行製作 SRPM 包從而得到 RPM 包,畢竟多數初學者只使用一台電腦,如果你管理相同的 100 台電腦,則此方式才能凸顯它的價值。
對於安裝此類特殊軟體,例如並行程式設計常會用到的 MPICH/PVM 等並行運算函數庫,建議使用原始碼包的安裝方式。
4) 用原始碼包安裝新版軟體
有時候可能需要使用最新版的軟體,而 Linux 系統中只提供舊版。例如 CentOS 服務更多的是企業,因此對很多軟體的要求是穩而不是新。如果我們就是需要安裝新軟體,但又擔心安裝新軟體後無法再回到舊版軟體,該怎麼辦呢?
這種情況下,可以使用原始碼包將新軟體安裝到 /usr/local/ 目錄中,因為 Linux 系統允許同一軟體的 2 個版本同時存在,且多數軟體的不同版本之間不會相互干擾。唯一需要注意的是,你要確定所使用的命令作用於哪一版軟體。
總的來說,使用 RPM 包安裝和使用原始碼包安裝軟體各有優缺點,不過,如果有 RPM 包的話,還是建議優先選擇 RPM 包安裝軟體,畢竟後期管理起來更方便。當然,如果軟體的架構差異太大,或者無法解決軟體依賴性的問題,與其花大把的時間和精力解決軟體之間的依賴,不如直接使用原始碼包的方式安裝軟體。