Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux RPM 套件管理完整指南:安裝、查詢、升級、卸載、驗證五大操作模式與常用參數速查表

編輯:Linux 教學

RPM 簡介

RPM (Red Hat Package Manager) 為 Linux 軟體分發標準格式,.rpm 檔案包含編譯好的二進制檔、配置檔、文件、相依關係、安裝/卸載腳本。核心資料庫位於 /var/lib/rpm/。

五大操作模式

1. 安裝 (-i / --install)

rpm -i package.rpm                    # 基礎安裝
rpm -iv package.rpm                   # 顯示安裝檔案清單
rpm -ivh package.rpm                  # 顯示進度條 (# 號)

# 進階參數
rpm -i --test package.rpm             # 僅測試不安裝 (檢查相依)
rpm -i --replacepkgs package.rpm      # 強制重裝
rpm -i --nodeps package.rpm           # 忽略相依關係 (危險)
rpm -i --force package.rpm            # 強制覆蓋檔案

2. 查詢 (-q / --query)

# 已安裝套件查詢
rpm -qa                       # 列出所有已安裝
rpm -qa | grep kernel         # 過濾關鍵字
rpm -qi package_name          # 顯示套件詳細資訊
rpm -ql package_name          # 列出套件安裝的所有檔案路徑
rpm -qc package_name          # 僅列出配置檔
rpm -qd package_name          # 僅列出文件檔
rpm -qf /etc/nginx/nginx.conf # 反查檔案屬於哪個套件
rpm -q --scripts package_name # 查看安裝/卸載腳本內容
rpm -q --changelog package_name # 變更日誌

# 未安裝 .rpm 檔案查詢 (加 -p)
rpm -qip package.rpm          # 套件資訊
rpm -qlp package.rpm          # 檔案清單
rpm -qpR package.rpm          # 相依關係

3. 卸載 (-e / --erase)

rpm -e package_name           # 正常卸載
rpm -e --nodeps package_name  # 強制卸載 (忽略被相依)
rpm -e --test package_name    # 測試卸載影響

4. 升級 (-U / --upgrade)

rpm -Uvh package.rpm          # 升級或安裝 (不存在則安裝)
rpm -Fvh package.rpm          # 僅升級已安裝 (Freshen)

# 降級
rpm -Uvh --oldpackage old_version.rpm

5. 驗證 (-V / --verify)

rpm -V package_name           # 驗證單一套件
rpm -Va                       # 驗證所有套件 (耗時)
rpm -Vf /etc/passwd           # 驗證特定檔案所屬套件

輸出代碼含義 (8 字元):

位置代碼含義
1S檔案大小異動
2M模式/權限異動
35MD5 雜湊異動 (內容被修改)
4D裝置主/次號異動
5L符號連結路徑異動
6U擁有者異動
7G群組異動
8T修改時間異動
首字元c配置檔 (config)
首字元d文件檔 (doc)
首字元g鬼檔 (ghost, 不在套件中但由腳本建立)
首字元l授權檔 (license)
首字元r讀我檔 (readme)

範例:S.5....T c /etc/nginx/nginx.conf → 大小、MD5、時間被修改,屬配置檔 (預期行為)。

常用輔助參數

參數作用
--force強制操作 (覆蓋檔案、忽略衝突)
--nodeps忽略相依關係
--requires顯示套件相依需求
--provides顯示套件提供的能力
--whatrequires反查哪個套件需要此能力
--whatprovides反查哪個套件提供此能力
--root /mnt/sysimage指定替代根目錄 (救援模式常用)
--dbpath /path指定替代 RPM 資料庫路徑

實戰場景範例

  1. 檢查系統是否安裝 Tomcat: rpm -qa | grep tomcat
  2. 查看 httpd 安裝了哪些檔案: rpm -ql httpd
  3. 找出 /usr/bin/php 屬於哪個套件: rpm -qf /usr/bin/php
  4. 驗證關鍵系統檔案完整性: rpm -Va | grep -E '^..5' | head -20
  5. 離線環境下載 RPM 及相依: yumdownloader --resolve --destdir=/tmp/rpms httpd

現代替代:DNF/YUM 高層管理

  • 自動解析相依、多源支援、模組化、事務歷史回滾
  • dnf install/update/remove/info/list 對應 RPM 底層操作
  • 容器映像建構仍常直接操作 rpm -i --root 或 dnf --installroot
Copyright © Windows教程網 All Rights Reserved