Linux 入門記錄:十9、Linux 包管理工具 RPM

1、源代碼管理

絕大多數開源軟件都是直接以源代碼形式發佈的,通常會被打包爲 tar.gz 的歸檔壓縮文件。程序源代碼須要編譯爲二進制可執行文件後纔可以運行使用。源代碼的基本編譯流程爲:html

  1. ./configure:解壓縮後運行該命令,它主要檢查編譯環境、相關庫文件以及配置參數並生成 makefile
  2. make:對源代碼進行編譯,生成可執行文件
  3. make install:將生成的可執行文件安裝到計算機中

源代碼形式的軟件使用起來較爲麻煩,可是兼容性和可控性較好。而且開源軟件通常會大量使用其餘開源軟件的功能,因此開源軟件會有大量的依賴關係(使用某軟件須要先安裝其餘軟件)。算法

 

2、RPM(RPM Package Manager,RPM包管理器)

使用源代碼形式安裝軟件的優勢是適用於全部系統、可定製,而缺點則是操做複雜、編譯時間較長、極容易出現錯誤。爲了方便使用,Erik Troan 和 Marc Ewing 開發了 RPM(RPM Package Manager,RPM 包管理器),RPM 最先是應用在 RedHat(紅帽)中的。安全

 

1.設計目標

RPM 經過將源代碼基於特定平臺系統編譯爲可執行文件,並保存依賴關係,來簡化開源軟件的安裝管理。RPM 的設計目標以下:bash

  • 使用簡單
  • 使用單一軟件包格式文件發佈(.rpm 文件)
  • 可升級
  • 追蹤軟件依賴關係
  • 基本信息查詢
  • 軟件驗證功能
  • 支持多平臺

 

2.命名規範

packagename-1.2.0-30.el6.x86_64.rpmdom

包名-版本號-操做系統-硬件平臺加密

其中,spa

操做系統:el6 表示 RedHat 6.x 或 CentOS 6.x 操做系統。操作系統

硬件平臺:x86_64 表示 64 位平臺,i386 表示 32 位平臺,noarch 表示不須要特定的硬件平臺(跨平臺)。設計

 

3.基本命令

安裝包:code

安裝包:rpm -i packagename.rpm

卸載包:

rpm -e packagename

升級包:

rpm -U packagename-new.rpm

經過 http、ftp 協議安裝:

rpm - ivh http://www.domainname.com/packagename.rpm

經常使用參數:

-v    顯示詳細信息
-h    顯示進度條
-i    安裝包
-e    卸載包
-U    更新(升級)包
-q    查詢
-a    查詢全部已安裝包
-i    顯示包信息
-h    取hash(哈希)
-f    查詢文件屬於哪一個包
-p    未安裝包的信息
-l    列出包裏的文件

 

3、RPM查詢

rpm -qa                     列出已安裝的全部rpm包
rpm -qa | grep '.*gnome.*'  列出全部名稱含有gnome的包

rpm -qf filename            查詢目標文件屬於哪一個包

rpm -qi package             獲取一個已安裝包的相關信息
rpm -qip package.rpm        獲取一個未安裝包的相關信息

rpm -ql package             獲取一個已安裝包內的文件列表
rpm -qlp package.rpm        列出一個未安裝包內的文件列表

  

4、RPM驗證

軟件包在傳播的過程當中可能會被惡意地修改,因此爲了安全起見,現代系統都加入了對軟件包的驗證功能。

驗證通常使用非對稱加密算法,因此須要一個公鑰。導入公鑰的方法是:

rpm --import /path/to/key_file

驗證未安裝的軟件包:

rpm -K package.rpm

驗證已安裝的軟件包:

rpm -V package

  

 

參考連接:

Linux中RPM包命名規則

YUM 公鑰認證及導入

相關文章
相關標籤/搜索