RPM是Redhat Package Manage的縮寫。透過RPM的管理,使用者可以把Source Code包裝成一種Source和Binary的檔案形式。利用它,我們可以用Binary的檔案進行安裝,用 Source 的檔案形式重新整理包裝。許多Linux愛好者對安裝RPM包比較熟悉,但對如何在Linux下制作RPM包不甚了解,因此,我將通過實例,講解如何在Linux下制作RPM包。 1. 最初要求 為了創建RPM,你需要RPM要編譯的源代碼、一個rpmrc文件(設置一些RPM的缺省值並控制它的行為),以及一個spec文件(控制包的建立過程)。這裡假定已有其它的開發環境(gcc、make、install、vi等),而且你的源代碼已經編譯成功。 2. 制作流程 1)確定/etc/rpmrc(也可能是/usr/lib/rpm/rpmrc)已經正確設定。rpmrc文件控制幾乎所有RPM的行為。如果你想重載一個或多個全局設置,可以在~/.rpmrc文件中包含你的定制。可以使用rpm--showrc來顯示RPM的當前設置。大多數情況下,rpmrc 文件的設置不需要改變。 2)取回所建造的源代碼並放入正確的目錄中。 3)編寫spec文件。 4)使用rpm -ba 來構造整個程式套件。 3.應用舉例 現在以Lynx實用程序來介紹構造RPM包的整個過程。Lynx是在文本方式下的Web浏覽器,可以從FTP://www.slcc.edu/pub/lynx/取得。 1)得到lynx源代碼。 2)lynx-2.8.spec文件的詳細編寫方法略。 3)使用RPM來構造包。 按照rpmrc文件的缺省設置,應該把lynx-2.8.spec文件放入SPECS/目錄下,然後執行: rpm -ba lynx-2.8.spec 其中-b 表示prep、compile、install,並build出一份binary RPM包。-a 表示執行所有的build動作,即還要build 出一份source code RPM包。 如果一切順利的話,可以在RPMS/目錄下找到lynx-2.8-4.i386.rpm文件。可以執行: rpm -qpl lynx-2.8-4.i386.rpm 來觀察RPM 包中是否包含了要求的所有文件。 為了測試它的正確性,可以拷貝此文件到另一台機器上,並執行: rpm -ivh lynx-2.8-4.i386.rpm 進行安裝測試。 一旦測試成功,就可以上載你的大作,享受成功的喜悅。 小結 制作RPM包需要開發人員做很多工作。比如不僅要懂得c/c++編程,而且還要能熟練掌握像make、autoconf、diff、patch、tar、install等工具的使用並能編寫spec文件。但從長遠來看,應用RPM,在軟件包的維護和方便性方面使得開發者受益。