每日一个Linux命令解析——rpm
rpm:rpm 是 Red Hat 系发行版(如 RHEL、CentOS、Fedora)中用于管理软件包的命令行工具,常用于安装、卸载、升级、查询和验证 .rpm 软件包。
一、语法
rpm [选项] [参数]
二、选项
- 安装、升级、卸载相关
命令 | 说明 |
-i | 安装软件包(install) |
-U | 升级软件包(upgrade) |
-F | 仅升级已安装的包(freshen) |
-e | 卸载软件包(erase) |
- 查询相关(-q 开头)
命令 | 说明 |
-q | 查询 |
-qa | 查询所有已安装包 |
-qi | 查询指定包的信息 |
-ql | 查询包安装了哪些文件 |
-qc | 查询配置文件 |
-qd | 查询文档文件 |
-qf | 查询某个文件属于哪个包 |
--changelog | 查看包的更新日志 |
- 验证相关
命令 | 说明 |
-V / --verify | 验证包文件是否被修改过 |
- 安装辅助选项
命令 | 说明 |
-v | 显示详细输出(verbose) |
-h | 安装时显示进度条(hash) |
--nodeps | 安装/卸载时不检查依赖关系 |
--force | 强制安装,即使已存在相同包 |
三、常用组合示例
命令 | 含义
rpm -ivh xxx.rpm | 安装软件包(install)-i: 安装-v: 显示详细信息-h: 显示进度条
rpm -Uvh xxx.rpm | 升级软件包(upgrade)
rpm -e 包名 | 卸载软件包(erase)不加 .rpm 后缀
rpm -qa | 查询所有已安装软件包(query all)
rpm -q 包名 | 查询是否安装了某软件包
rpm -qi 包名 | 显示某包的详细信息(信息 info)
rpm -ql 包名 | 显示某包安装了哪些文件(list)
rpm -qc 包名 | 查询某包的配置文件
rpm -qd 包名 | 查询某包的文档文件
rpm -qf 文件路径 | 查询某文件属于哪个软件包(file)
rpm -V 包名 | 验证某包是否被篡改(verify)
- 安装包:
rpm -ivh nginx-1.20.1.rpm
- 升级包:
rpm -Uvh nginx-1.24.0.rpm
- 卸载 nginx:
rpm -e nginx
- 查看 nginx 安装位置和文件列表:
rpm -ql nginx
- 某个程序是哪个软件包安装的,或者哪个软件包包含这个程序
rpm -qf `which 程序名` #返回软件包的全名
rpm -qif `which 程序名` #返回软件包的有关信息
rpm -qlf `which 程序名` #返回软件包的文件列表
四、注意
rpm 不会自动处理依赖关系,建议使用 yum 或 dnf 安装软件。
如果要安装一个rpm软件包时推荐使用yum install 包名,rpm更适合查看软件包信息或者查看软件包的文件列表。