Linux軟件管理 - RPM工具

Linux軟件管理 - RPM工具

文本關鍵字:Linux、軟件管理、RPM工具、軟件依賴

一、RPM介紹

1. RPM含義

RPM的全稱是:Red Hat Package Manager,是RPM軟件包管理器。在Linux系統中對應命令是rpm,我們看到名稱中含有Red Hat,也就說明主要是在Red Hat發行版中使用的,除此之外還包括和Red Hat最親近的CentOS,以及其他一些主流發行版:SuSE、Fedora等。

2. RPM特點

  • rpm也是一種打包格式,使用rpm工具來進行管理
  • rpm包是預先已經編譯並打包的文件,安裝較爲方便
  • 存在rpm相關的數據庫,記錄各軟件間的依賴關係
  • 如果缺少相關依賴,則無法正常安裝或無法正常運行
  • 如果逐一尋找依賴,在尋找過程中可能還有依賴關係,將會變成噩夢
  • 可以用yum工具解決rpm依賴問題,在後續文章中介紹

3. 軟件包名稱

Linux軟件管理 - RPM工具

  • vim:軟件名稱部分
  • enhanced:軟件組件部分
  • 7:主版本號
  • 4:次版本號
  • 629:修訂號
  • 5:發佈次數
  • el6_10.2:平臺名稱,表示適用於哪種發行版
  • x86_64:系統位數,i386等表示適用於32位,x86_64表示適用於64位,noarch表示通用

二、常用命令

1. 查詢

在進行軟件查詢時,適用rpm工具只能查詢到以rpm軟件包形式安裝的軟件信息,解壓和編譯安裝的軟件無法查詢到信息。

  • q:query的簡寫

(1)查詢已安裝的軟件信息

  • rpm -q 準確軟件名稱:查詢某一個已安裝軟件

Linux軟件管理 - RPM工具

  • rpm -qa:顯示已安裝的所有軟件列表

Linux軟件管理 - RPM工具

  • rpm -qi 準確軟件名稱:查詢指定安裝軟件的詳細信息

Linux軟件管理 - RPM工具

  • rpm -ql 準確軟件名稱:查看指定的軟件包在系統中對應的目錄和文件列表

Linux軟件管理 - RPM工具

  • rpm -qf 目錄或文件夾:查看當前指定的文件或目錄對應的軟件包

Linux軟件管理 - RPM工具

  • 不確定具體名稱時可以使用管道和篩選功能:rpm -qa|grep vim

Linux軟件管理 - RPM工具

  • 統計已安裝的軟件包總數:rpm -qa|wc -l

Linux軟件管理 - RPM工具
(2)查詢未安裝的軟件信息
該操作主要是在軟件包安裝之前進行詳細信息的查詢,所以傳入的參數是一個存在的軟件包的路徑。

  • rpm -qpi 軟件包完整路徑:查詢待安裝軟件的詳細信息

Linux軟件管理 - RPM工具

  • rpm -qpl 軟件包完整路徑:查詢待安裝軟件的安裝路徑

Linux軟件管理 - RPM工具

2. 驗證

使用-V可以驗證軟件包的正確性。

  • V:verify的簡寫

(1)常用命令

  • rpm -V 準確軟件名稱:只有校驗失敗時纔會出現信息
  • rpm -Va:掃描驗證所有軟件包(推薦使用root用戶,不會出現權限問題),列出產生變更的項目、欠佳的依賴關係、缺失的關鍵配置文件等

Linux軟件管理 - RPM工具
(2)信息標識

校驗信息的後半部分顯示對應的目錄或文件,前半部分用大寫字母表示產生變動的項目。

  • S:大小改變
  • M:權限改變
  • 5:MD5改變
  • L:鏈接改變
  • D:設備改變
  • U:屬主改變
  • G:數組改變
  • T:修改時間改變

3. 卸載

軟件包的卸載需要使用root用戶來執行,必須完整提供卸載軟件包的名稱,可以先通過篩選查詢獲取。

  • e:erase的簡寫(擦除)

在進行卸載操作時,可能有其他軟件依賴於此軟件,卸載後可能會導致其他軟件不可用,如果存在依賴關係,則會顯示依賴信息,如果執意要刪除,可以使用忽略依賴的選項:--nodeps。

  • rpm -e [--nodeps] 準確軟件名稱:卸載一個已安裝軟件,忽略依賴爲可選項
rpm -e --nodeps vim-enhanced

4. 安裝

軟件包的安裝需要使用root用戶來執行,安裝前一般會先查詢已安裝的相關軟件,並卸載與之衝突的軟件。

  • i:install的簡寫

在進行軟件安裝時,可能系統當中缺少某個依賴,導致無法正常安裝,可以使用--force選項進行強制安裝,但無法保證安裝後能夠正常使用。常規的解決辦法是先安裝需要的依賴軟件包,再安裝該軟件,或者使用yum工具。

  • rpm -i [--force] 軟件包完整路徑:安裝一個軟件,強制安裝爲可選項
  • rpm -ivh 軟件包完整路徑:常用命令,安裝一個軟件,顯示詳細信息和進度(用#表示)

    5. 升級

    與安裝類似,使用root用戶操作來操作,升級某一軟件。

  • U:update的簡寫
  • F:freshen的簡寫

由於在升級時,舊版本的軟件可能已經安裝,也可能從未安裝,針對這種情況,提供了兩個參數。

  • U表示:如果對應的軟件包原來未安裝,則直接安裝,和i的效果相同
  • F表示:如果對應的軟件包原來未安裝,則放棄安裝

  • rpm -U/F 軟件包完整路徑:升級一個軟件

    6. 維護

    (1)RPM數據庫維護
    如果本機的RPM數據庫損壞,可能會導致無法正確的讀取依賴關係,致使無法正常執行rpm相關功能,此時可以使用--initdb選項。

    rpm --initdb

    (2)簽名驗證
    當下載了一個軟件後,如果我們無法確保它的來源,以及是否被篡改,則需要使用相應的GPG文件。一般在光盤鏡像、網絡鏡像中都可以找到該文件,使用--import命令導入,在安裝軟件時會自動生效。

    rpm --import /mnt/cdrom/RPM-GPG-KEY-CentOS-6
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章