[Linux] RPM軟體管理
RPM 全名是『 RedHat Package Manager 』簡稱則為 RPM 啦!顧名思義,當初這個軟體管理的機制是由 Red Hat 這家公司發展出來的。 RPM 是以一種資料庫記錄的方式來將你所需要的軟體安裝到你的 Linux 系統的一套管理機制。
他最大的特點就是將你要安裝的軟體先編譯過, 並且打包成為 RPM 機制的包裝檔案,透過包裝好的軟體裡頭預設的資料庫記錄, 記錄這個軟體要安裝的時候必須具備的相依屬性軟體,當安裝在你的 Linux 主機時, RPM 會先依照軟體裡頭的資料查詢 Linux 主機的相依屬性軟體是否滿足, 若滿足則予以安裝,若不滿足則不予安裝。那麼安裝的時候就將該軟體的資訊整個寫入 RPM 的資料庫中,以便未來的查詢、驗證與反安裝!這樣一來的優點是:
- 由於已經編譯完成並且打包完畢,所以軟體傳輸與安裝上很方便 (不需要再重新編譯);
- 由於軟體的資訊都已經記錄在 Linux 主機的資料庫上,很方便查詢、升級與反安裝
所以,通常不同的 distribution 所釋出的 RPM 檔案,並不能用在其他的 distributions 上。舉例來說,Red Hat 釋出的 RPM 檔案,通常無法直接在 SuSE 上面進行安裝的。更有甚者,相同 distribution 的不同版本之間也無法互通,例如 CentOS 4.x 的 RPM 檔案就無法直接套用在 CentOS 5.x !因此,這樣可以發現這些軟體管理機制的問題是:
- 軟體檔案安裝的環境必須與打包時的環境需求一致或相當;
- 需要滿足軟體的相依屬性需求;
- 反安裝時需要特別小心,最底層的軟體不可先移除,否則可能造成整個系統的問題!
通常 SRPM 的副檔名是以 ***.src.rpm 這種格式來命名的。不過,既然 SRPM 提供的是原始碼,那麼為什麼我們不使用 Tarball 直接來安裝就好了?這是因為 SRPM 雖然內容是原始碼, 但是他仍然含有該軟體所需要的相依性軟體說明、以及所有 RPM 檔案所提供的資料。同時,他與 RPM 不同的是,他也提供了參數設定檔 (就是 configure 與 makefile)。所以,如果我們下載的是 SRPM ,那麼要安裝該軟體時,你就必須要:
- 先將該軟體以 RPM 管理的方式編譯,此時 SRPM 會被編譯成為 RPM 檔案;
- 然後將編譯完成的 RPM 檔案安裝到 Linux 系統當中
檔案格式 | 檔名格式 | 直接安裝與否 | 內含程式類型 | 可否修改參數並編譯 |
RPM | xxx.rpm | 可 | 已編譯 | 不可 |
SRPM | xxx.src.rpm | 不可 | 未編譯之原始碼 | 可 |
官方網站 http://rpmfusion.org/Configuration
留言
張貼留言
留言請注意禮節與尊重他人,良好的交流環境需要你我共同維護。
VtigerCRM 相關留言討論,請改至FaceBook社團申請加入使用
https://www.facebook.com/groups/vTigerCRMtoTaiwan/