# Linux系統rpm命令是什么
## 一、rpm命令概述
RPM(Red Hat Package Manager)是Linux系統中廣泛使用的軟件包管理工具,最初由Red Hat公司開發,現已成為眾多Linux發行版(如CentOS、Fedora、openSUSE等)的標準包管理格式。它提供了一種標準化的方式來**打包、安裝、查詢、驗證、更新和卸載**軟件。
### 核心功能
- **軟件安裝與卸載**:通過預編譯的二進制包(.rpm文件)快速部署應用
- **依賴管理**:自動檢查軟件包依賴關系
- **版本控制**:支持軟件包的版本查詢和升級/降級
- **完整性驗證**:通過數字簽名確保軟件包安全性
## 二、rpm命令基本語法
```bash
rpm [選項] [軟件包名/文件名]
模式 | 說明 |
---|---|
-i |
安裝軟件包 |
-U |
升級軟件包 |
-e |
卸載軟件包 |
-q |
查詢軟件包信息 |
-V |
驗證軟件包完整性 |
rpm -ivh package.rpm
-i
:安裝模式-v
:顯示詳細過程-h
:顯示進度條--test
:測試安裝(不實際執行)--nodeps
:忽略依賴檢查(不推薦)rpm -qa | grep httpd # 查詢所有已安裝包
rpm -qi package_name # 顯示包詳細信息
rpm -ql package_name # 列出包內文件
rpm -qf /path/to/file # 查詢文件屬于哪個包
rpm -Uvh new_package.rpm # 升級軟件包
rpm -e package_name # 卸載軟件包
rpm -V package_name # 驗證文件屬性
rpm --checksig package.rpm # 檢查GPG簽名
# 下載示例包
wget http://example.com/nginx-1.18.0.rpm
# 安裝并顯示進度
rpm -ivh nginx-1.18.0.rpm
當出現依賴錯誤時:
error: Failed dependencies:
libssl.so.10 is needed by package.rpm
可通過yum
或dnf
自動解決:
yum install package.rpm
# 查看已安裝的Apache版本
rpm -q httpd
# 查看安裝路徑
rpm -ql httpd | grep bin
特性 | rpm | yum/dnf |
---|---|---|
依賴解決 | 不自動處理 | 自動解決 |
倉庫支持 | 僅本地文件 | 支持遠程倉庫 |
事務處理 | 無回滾機制 | 支持事務回滾 |
使用場景 | 單包操作 | 批量操作 |
提示:現代Linux系統推薦優先使用
yum
或dnf
,它們底層仍調用rpm但提供了更友好的接口。
error: package.rpm: Header V3 RSA/SHA256 Signature, key ID xxxxxx: NOKEY
解決方案:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
file /usr/bin/foo from install of package conflicts with file from package bar
解決方法:
rpm -ivh --replacefiles package.rpm
rpm2cpio package.rpm | cpio -idmv
rpm -q --scripts package_name
rm -f /var/lib/rpm/__db*
rpm --rebuilddb
作為Linux系統管理的核心工具之一,rpm命令雖然逐漸被更高級的包管理器所補充,但在以下場景仍不可替代: - 需要精確控制安裝過程時 - 處理本地軟件包時 - 進行低級包驗證和查詢時
掌握rpm命令的使用,有助于深入理解Linux軟件包管理機制,為系統維護和故障排除提供堅實基礎。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。