Next Previous Contents

2. Overview

首先, 讓我們先來了解 RPM 背後的設計哲學, 其設計的目的之一, 便是允許使用者能夠使用「純淨」的 source 檔案。 關於此點, 我們必須回溯至 RPP 程式, ( 這是一個早期所使用的程式套件管理系統, 不過, 後來 RPM 倒沒有由其衍生 ), 它所採用的 source 檔案, 都是經過額外的「破解處理」。 理論上, 使用者可以順暢無誤地, 從一份 RPP 原始檔, 完成 install 與 make 的動作。 但是這樣處理過的 source 檔案, 已是面貌全非, 使用者可能無從得知, 檔案裡到底哪些地方被更改過, 通常必須額外取回未經處理過的 source 檔案。 而 RPM 的做法, 便是讓使用者取得「未經處理過的 source 檔案」, 同時再附上一份「patch 檔案」, 可藉之完成程式編譯的工作。 我們很容易發現, 這樣的做法帶來不少好處。 怎麼說呢﹖ 舉個狀況為例, 在 Red Hat Linux 下, 如果某個新版的程式問世了, 您可能沒有必要再重頭開始做 compile 動作, 先觀察「patch 檔案」的內容, 看看是否有哪些部份才是您需要做的。 如此一來, 所有內含的程式預設值便很容易看出來。

另一方面, RPM 也具有強大的查詢功能, 您可以針對整個程式套件的資料庫, 或是某些特定的檔案, 進行查詢的動作, 也可以輕鬆地查出, 某個檔案是屬於哪個程式套件, 或是它打從哪裡來的。 RPM 檔案本身是經過壓縮的, 但您還是可以很容易而快速地, 查詢每個程式套件的內容, 因為在程式套件裡, 已經加入一段特殊的 binary header, 它記錄了全部查詢時所需的內容, 這樣的做法, 使得查詢功能變得相當快速

另一項強大的功能, 便是程式套件的完整確認。 如果您擔心誤砍某個檔案, 而它正是某個程式套件的重要部份, 那麼做個「確認動作」就行了。 如有任何不正常的地方, 便會通知您, 這時候, 您可以視情況重新安裝該程式套件, 而且所有之前的設定檔, 都會完好地被保存下來。

我們非常感謝來自 BOGUS distribution 的高手們, 他們提供了許多意見構想, 後來也都被採用於 RPM 當中。 雖然 RPM 完全是由 Red Hat Software 所撰寫, 但其操作模式是根據 BOGUS (PM 與 PMS) 所寫的程式碼。


Next Previous Contents