RPM (Red Hat Package Manager) 是 Red Hat 系 Linux 軟體管理的基石。本文系統整理 rpm 九大核心操作場景與關鍵參數,並提供實戰範例速查表。
| 操作 | 指令範例 | 關鍵參數 |
|---|---|---|
| 查詢未安裝套件資訊 | rpm -qpi pkg.rpm | -q 查詢 -p 套件檔 -i 資訊 |
| 列出套件檔案清單 | rpm -qpl pkg.rpm | -l 列出檔案 |
| 安裝套件 | rpm -ivh pkg.rpm | -i 安裝 -v 詳述 -h 進度條 |
| 強制重裝/忽略依賴 | rpm -ivh --replacepkgs --nodeps pkg.rpm | --replacepkgs 重裝 --nodeps 忽略依賴 |
| 升級套件 | rpm -Uvh pkg.rpm | -U 升級 (不存在則安裝) |
| 移除套件 | rpm -e pkg_name | -e 移除 (僅用套件名非檔名) |
| 線上 FTP/HTTP 安裝 | rpm -i ftp://host/path/pkg.rpm | 直接支援 URL |
| 驗證系統完整性 | rpm -Va | -V 驗證 -a 所有套件 |
| 反查檔案所屬套件 | rpm -qf /path/file | -f 檔案反查 |
| 查詢已安裝套件屬性 | rpm -qi pkg_name | 針對已安裝資料庫查詢 |
# 安裝參數
--test # 僅測試不執行
--percent # 百分比進度
--excludedocs # 不安裝文件
--prefix /opt # 重新導向安裝路徑 (需套件支援 relocatable)
--noscripts # 跳過 pre/post 安裝腳本
--force # 強制覆蓋衝突檔案
# 移除參數
--test # 僅測試
--nodeps # 忽略依賴檢查
--noscripts # 跳過腳本
# 升級參數
--oldpackage # 允許降級
--test # 僅測試
rpm -qa # 列出所有已安裝套件
rpm -qa | grep kernel # 關鍵字過濾
rpm -qi pkg_name # 套件詳細資訊
rpm -ql pkg_name # 套件檔案清單
rpm -qc pkg_name # 設定檔清單
rpm -qd pkg_name # 文件檔清單
rpm -qR pkg_name # 依賴需求
rpm -q --scripts pkg_name # 查看安裝/移除腳本
rpm -q --changelog pkg_name# 變更日誌
S.M.5.D.U.G.T. (每個字元對應一項檢查)
S 檔案大小異常
M 模式/權限異常
5 MD5 校驗和異常
D 裝置主/次號異常
L 符號連結路徑異常
U 擁有者異常
G 群組異常
T 修改時間異常
. 通過檢查
? 無法檢查 (權限不足)
rpm -ivh --aid pkg.rpm (需 yumdownloader 輔助)rpm --rebuilddb (解決 rpm 命令卡死、查詢異常)rpm2cpio pkg.rpm | cpio -idmvrpm -q --provides pkg_name日常操作強烈建議使用高層包管理器:
yum / dnf (RHEL/CentOS/Fedora) — 自動解析依賴、儲存庫管理zypper (openSUSE)apt (Debian/Ubuntu) — 對應 dpkg 底層rpm 保留為底層故障排查、腳本自動化、離線環境核心工具。
掌握 rpm -qpi/qpl/ivh/Uvh/e/Va/qf 九大核心指令組合,覆蓋 95% RPM 操作需求。參數細節臨時 man rpm 查閱,重點建立「查詢→安裝→驗證→移除」完整操作肌肉記憶。
嵌入式 Linux 系統設計與應用全景:從內核裁剪、根檔案系統構建到實時性擴展
Linux Shell 指令速查手冊:man、ls、cp、rm、mv、cd、cat、grep、find、tar、chmod、ps、kill 等核心指令
Linux 桌面無縫存取 Windows「我的文件」:自動掛載與快捷方式建立全攻略
Linux 下產生 crypt 加密密碼的六種方法:mkpasswd、htpasswd、openssl、Perl、Python、MySQL
Linux 目錄操作基礎指令大全:mkdir、rmdir、cd、pwd、ls 參數完整解析
Linux 建議性鎖機制實戰:以原子操作創建鎖文件實現進程同步