第 32章 使用 RPM 做套件管理

RPM Package Manager (RPM) 是一種開放的套件包裝系統,每一個人都可以使用,可以使用在 Red Hat Linux 以及其他的 Linux 與 UNIX 系統。 Red Hat, Inc. 鼓勵其他的公司使用 RPM 在他們自己的產品中。 可以在遵守 GPL 的條款下自由散佈 RPM。

對於終端使用者來說,RPM 簡易了系統的更新,只需要短短的指令便可以進行安裝、解除安裝與升級 RPM 套件。 RPM 維護了一個含有已安裝之套件與其檔案的資料庫,所以您可以在您的系統上調用功能強大的查詢與驗證。 假如您較喜歡一個圖形的介面,您可以使用 套件管理工具 來執行許多的 RPM 指令,請參考 第33章 以取得詳細資訊。

在升級階段中,RPM 小心地處理設定檔案,使得您從來不會遺失您的自訂設定 — 這是您使用一般的 .tar.gz 檔案所作不到的。

對於程式開發者,RPM 讓您可以使用軟體的原始碼,並將它包裝成原始與二元套件,以提供終端使用者使用。 這個過程是相當簡單的,只需使用一個單一的檔案以及您所建立的程式修正(可選的)。 當新版本的軟體釋放出來時,在原始程式碼與您的程式修正之間清楚的輪廓,以及建立包裝檔的指示,這兩種特色將簡化套件軟體的維護工作。

注請注意
 

因為 RPM 將對您的系統做變更,因此您必須是 root 才能進行安裝、移除或升級一個 RPM 套件。

32.1. RPM 設計的宗旨

為了要了解如何使用 RPM,先知道一下 RPM 的設計宗旨也許對您很有幫助:

可升級性

藉由使用 RPM,您用不著重新安裝整個系統便可升級系統中個別的元件。 當您取得一個以 RPM 為基礎的新版作業系統(如 Red Hat Linux),您並不需要重新安裝到您的機器上(在以其他包裝系統為基礎的作業系統上,您則必須要做的事)。 RPM 將使用一種智慧型且完全自動化的方式來升級您的系統,套件的設定檔案將在升級過程中被保留下來,所以您將不會遺失您的自訂設定。 並不需要任何特殊的升級檔案來升級一個套件,因為您可以使用相同的 RPM 檔案來做安裝與升級系統上的套件。

功能強大的查詢

RPM 是設計來提供強力的查詢選項,您可以透過整個資料庫來查詢套件或某些檔案,您也可以輕易地找出一個檔案所屬的套件,以及該套件來自何處。 一個 RPM 套件所包含的檔案是儲存在一個經過壓縮的歸檔中,並含有關於該套件與其內容的一個自訂二元表頭,使得您可以更快更容易地來查詢個別的套件。

系統校驗

另一個功能強大的特色是校驗套件的能力,假如您擔心刪除了某個套件的重要檔案,請對該套件進行校驗。 您將會被提示任何異常的狀態。 在此時您可以視需求重新安裝該套件,任何您所修改過的設定檔案將會在重新安裝過程中保留下來。

『純淨』的原始碼

一個很重要的設計宗旨便是讓您使用該軟體的原始作者所散佈出來的『純淨』的原始軟體程式碼。 使用 RPM,您可擁有『純淨』的原始碼以及曾經用過的任何程式修正,加上完整的套件建立指示。 這是針對許多種理由的一個重要的優點,舉例來說,假如一個程式的新版本面世後,您並不需要從頭開始來將它進行編譯,您可以檢視程式修正來看看您所需要做的事情。 使用 RPM 的技術便可以很容易的看出為了正確建立該軟體所有編譯進來的預設值與所有做過的變更。

將原始程式碼保持原封不動的目的,也許只對程式開發者比較重要,不過對消費者來說這也會造成更高品質的軟體。 我們非常感謝來自 BOGUS distribution 的高手們,他們提供了許多意見構想,例如將程式碼保留『純淨』的觀念等等。