rpm
命令详解
rpm
命令是 Red Hat Package Manager 的缩写,它是一个用于管理软件包的工具,主要用于基于 Red Hat 的 Linux 发行版,如 CentOS、Fedora 等。rpm
允许用户安装、更新、卸载和查询软件包,并且可以用来验证已安装软件包的完整性。
基本用法
rpm [选项] [参数]
主要功能
- 安装软件包:使用
-i
或--install
选项。 - 升级软件包:使用
-U
或--upgrade
选项。 - 卸载软件包:使用
-e
或--erase
选项。 - 查询信息:使用
-q
或--query
选项。 - 校验软件包:使用
-V
或--verify
选项。
常见选项
-i, --install
: 安装一个新的软件包。-U, --upgrade
: 升级一个已安装的软件包。-F, --freshen
: 只有当新版本比旧版本新时才升级。-e, --erase
: 删除一个已安装的软件包。-q, --query
: 查询已安装软件包的信息。-l, --list
: 列出已安装软件包中的文件。-s, --state
: 显示文件状态。-v, --verbose
: 输出详细信息。-h, --hash
: 显示安装进度条。-p, --package PACKAGE_FILE
: 对于未安装的软件包文件进行操作。-V, --verify
: 校验软件包。--nodeps
: 忽略依赖关系(不推荐使用)。--force
: 强制执行操作(比如强制删除)。--allmatches
: 在删除或校验时匹配所有实例。--whatprovides CAPABILITY
: 查找提供特定功能的软件包。--whatrequires CAPABILITY
: 查找需要特定功能的软件包。
示例
-
安装软件包:
rpm -ivh package.rpm
这里
-i
是安装,-v
是显示详细信息,-h
是显示进度条。 -
升级软件包:
rpm -Uvh new-package.rpm
-
卸载软件包:
rpm -e package_name
-
查询已安装的软件包:
rpm -q package_name
-
列出已安装软件包中的文件:
rpm -ql package_name
-
显示软件包描述:
rpm -qi package_name
-
校验软件包:
rpm -V package_name
-
查找提供特定功能的软件包:
rpm -q --whatprovides /bin/bash
-
查找需要特定功能的软件包:
rpm -q --whatrequires /lib/libc.so.6
-
忽略依赖关系安装软件包(不推荐,因为可能会导致系统不稳定):
rpm -ivh --nodeps package.rpm
-
查看 RPM 包内的文件列表(不需要安装该包):
rpm -qlp package.rpm
-
从 RPM 包中提取单个文件:
rpm2cpio package.rpm | cpio -idmv ./path/to/file