安裝
# 安裝單個包
rpm -ivh package.rpm
# -i install, -v verbose, -h hash 進度條
# 測試安裝 (不實際寫入)
rpm -ivh --test package.rpm
# 強制安裝 (忽略依賴/衝突)
rpm -ivh --nodeps --force package.rpm
# 批量安裝目錄下所有 rpm
rpm -ivh *.rpm
查詢
# 查詢所有已安裝包
rpm -qa
rpm -qa | grep nginx
# 查詢包詳細信息
rpm -qi package_name
# 查詢包安裝文件列表
rpm -ql package_name
# 查詢包配置文件
rpm -qc package_name
# 查詢文件屬於哪個包
rpm -qf /usr/sbin/nginx
# 查詢包依賴關係
rpm -qR package_name
# 查詢未安裝包文件信息
rpm -qip package.rpm
rpm -qlp package.rpm
卸載
# 卸載包
rpm -e package_name
# 測試卸載
rpm -e --test package_name
# 強制卸載 (忽略依賴)
rpm -e --nodeps package_name
# 卸載不執行腳本
rpm -e --noscripts package_name
升級
# 升級 (有則升,無則裝)
rpm -Uvh package.rpm
# 僅升級已安裝包
rpm -Fvh package.rpm
# 允許降級
rpm -Uvh --oldpackage package.rpm
驗證與數據庫維護
# 驗證包文件完整性 (已安裝)
rpm -V package_name
# 輸出代碼: S=大小異, M=模式異, 5=MD5異, D=設備異, L=鏈接異, U=用戶異, G=組異, T=時間異, c=配置文件
# 驗證 RPM 文件簽名
rpm -K package.rpm
rpm -K --nosignature package.rpm # 僅驗證 MD5
# 重建 RPM 數據庫 (損壞修復)
rpm --rebuilddb
# 初始化新數據庫
rpm --initdb
實用技巧
- 離線安裝依賴:
yumdownloader --resolve package 下載包及所有依賴至當前目錄,攜帶至離線機器 rpm -ivh *.rpm。
- 提取 RPM 文件不安裝:
rpm2cpio package.rpm | cpio -idmv 解壓至當前目錄。
- 查看包腳本:
rpm -qp --scripts package.rpm (預/後安裝、預/後卸載腳本)。