Linux實用工具-rpm軟件包構建(1) 簡介 前言

使用rpm進行軟件管理

簡介

Rpm原來是RedHat Linux下使用的軟件包管理工具。本文介紹使用rpm相關工具製做和管理軟件包。

製作軟件包就是根據源代碼或者編譯好的二進制文件生成rpm軟件包。管理軟件包就是使用rpm對軟件包進行管理(安裝,卸載,查詢軟件信息等)。重點講解rpm軟件包的製作。

前言

什麼是軟件管理?這裏提到的軟件管理,範圍主要限於軟件的安裝,卸載,查詢。

爲便於理解,先給出一個雖然不太準確,但是比較直觀的、手動管理軟件的過程描述:

  1. 當我們獲取到軟件源代碼之後,將軟件源代碼進行編譯,生成最終的可執行程序以及其依賴的庫。
  2. 將生成的庫和可執行文件拷貝到機器中的系統目錄中以便可以在一個統一的地方進行運行,拷貝完之後設置好一些環境變量(例如告訴系統可執行文件在哪裏,甚至是添加一些菜單等),這樣就可以運行軟件了。
  3. 當我們不需要軟件的時候,將之前拷貝的文件從系統目錄中刪除,並把爲了配置軟件而設置的一些環境變量以及菜單恢復成修改之前的狀態。

對於以上的過程,其實2)就是對軟件的安裝過程。3)就是對軟件的卸載。而1)過程是根據軟件源代碼編譯生成可用的軟件,一般對於最終用戶來說,可能會沒有這個步驟。

從這個過程中我們可以看出,手動管理軟件,優勢是可以清楚地知道安裝程序時在什麼地方安裝了哪些文件,卸載的時候也非常徹底,不會給系統留下垃圾文件;但是,卻有很多缺點:

  • 首先,對用戶要求較高。用戶不僅會使用軟件,而且要知道軟件是如何來的,以及如何編譯,整套軟件具體包含哪些文件等等;
  • 其次,管理過程麻煩。一切拷貝都手動進行很容易出錯;
  • 再次,維護不便。因爲並沒有什麼機制來將自己曾經手動安裝的過程一一記錄下來,所以如果在機器上用這種方式安裝許多軟件,那麼很難全部記住以前究竟安裝了哪些軟件,安裝的軟件是什麼版本等,。

針對以上缺點,rpm軟件管理工具實現了軟件的編譯,安裝,卸載自動處理,最初只需要得到軟件的rpm包,然後雙擊或者通過一條特殊命令就可以實現軟件的安裝,省去了編譯和手動拷貝的麻煩,而且rpm本身還提供了數據庫,記錄曾經安裝過什麼軟件,以及軟件的信息等,爲軟件維護也提供了方便。

以下兩點,可以幫助我們更容易瞭解所述內容:

  1. 使用rpm軟件管理與不使用rpm軟件管理的情況

    並不是所有的軟件都提供.rpm方式的安裝。有些開發者會提供rpm方式的二進制軟件包,以便用戶選擇使用。但只發布軟件的源碼,最後一部分的編譯和安裝需要用戶自行解決也是很常見的。

  2. 使用rpm管理軟件的優勢

    使用tar包或cpio等也可以打包文件,甚至比製作rpm要簡單很多。但如果想在安裝的過程中就把一套額外的軟件部署完畢,那使用rpm方式通常是是更好的方法,而且rpm還有數據庫協助軟件升級、文件校驗等,結合yum升級方式,特別是對於最終用戶,提供rpm包幾乎是最佳的方法。

通過本文,我們將知道,在只有軟件源代碼的情況下,如何使用rpm工具製做相應的自動化軟件安裝包,以及一些基本的使用rpm管理軟件的方法。以下將是本文主要內容,如果有問題或者建議可以聯繫我。

主要內容

一、軟件包製作
1,描述文件
2,製做rpm包的具體方法
二、一些軟件包管理的命令
三、補充
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章