Linux中的rpm命令

`rpm`(Red Hat Package Manager)是一个用于管理基于 RPM 的 Linux 发行版(如 Red Hat、CentOS、Fedora 等)软件包的命令行工具。你可以使用 `rpm` 命令来查询、安装、卸载、升级和验证 RPM 软件包。

常用的 `rpm` 命令:

  1. **查询已安装的软件包**:

```bash

rpm -q <package_name>

```

例如,查询是否安装了 `bash` 软件包:

```bash

rpm -q bash

```

如果软件包已安装,命令会返回版本信息;否则,返回未安装信息。

  1. **查询所有已安装的软件包**:

```bash

rpm -qa

```

这将列出系统上所有已安装的软件包。

  1. **查看软件包的详细信息**:

```bash

rpm -qi <package_name>

```

例如,查看 `bash` 软件包的详细信息:

```bash

rpm -qi bash

```

  1. **列出软件包中的所有文件**:

```bash

rpm -ql <package_name>

```

例如,列出 `bash` 软件包中的所有文件:

```bash

rpm -ql bash

```

  1. **安装 RPM 软件包**:

```bash

rpm -ivh <package_file.rpm>

```

安装一个 RPM 包,`-i` 表示安装,`-v` 表示详细输出,`-h` 表示显示进度条。

  1. **卸载 RPM 软件包**:

```bash

rpm -e <package_name>

```

例如,卸载 `bash` 软件包:

```bash

rpm -e bash

```

  1. **升级 RPM 软件包**:

```bash

rpm -Uvh <package_file.rpm>

```

其中,`-U` 表示升级,`-v` 和 `-h` 与安装时相同。

  1. **验证软件包文件的完整性**:

```bash

rpm -V <package_name>

```

例如,验证 `bash` 软件包的完整性:

```bash

rpm -V bash

```

这将检查安装的软件包是否与原始安装文件一致,并返回任何已更改的文件。

  1. **检查文件是否由 RPM 软件包管理**:

```bash

rpm -qf <file_path>

```

例如,检查文件 `/bin/bash` 是否由任何 RPM 包管理:

```bash

rpm -qf /bin/bash

```

  1. **查询软件包依赖**:

```bash

rpm -qR <package_name>

```

例如,查询 `bash` 软件包的依赖关系:

```bash

rpm -qR bash

```

  1. **列出 RPM 包的所有提供的文件**:

```bash

rpm -q --provides <package_name>

```

  1. **显示包是否存在更新**:

```bash

rpm -qa --last

```

显示安装软件包的时间排序。

示例:

  • **查询包**:检查 `httpd` 是否安装:

```bash

rpm -q httpd

```

  • **安装 RPM 包**:

```bash

rpm -ivh nginx-1.14.0-1.el7.x86_64.rpm

```

  • **查看包文件**:

```bash

rpm -ql nginx

```

总结:

`rpm` 是一个非常强大的命令行工具,适用于管理和查询 RPM 包,包括查看包的详细信息、列出安装文件、查询依赖、安装、卸载和升级软件包等操作。

相关推荐
dbdr09012 分钟前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
大白的编程日记.26 分钟前
【Linux学习笔记】信号的深入理解之软件条件产生信号
linux·笔记·学习
鹧鸪云光伏与储能软件开发31 分钟前
投资储能项目能赚多少钱?小程序帮你测算
运维·数据库·小程序·光伏·光伏设计软件·光伏设计
群联云防护小杜32 分钟前
服务器异常磁盘写排查手册 · 已删除文件句柄篇
运维·服务器·nginx·开源·lua
buyutang_35 分钟前
C/C++ Linux系统编程:线程控制详解,从线程创建到线程终止
linux·c语言·c++·学习
云的牧人1 小时前
Ubuntu 22 redis集群搭建
linux·运维·ubuntu
siriuuus1 小时前
Linux 磁盘扩容及分区相关操作实践
linux·运维·服务器
会飞的小蛮猪1 小时前
Jenkins运维之路(权限分配&忘记admin密码)
java·运维·经验分享·jenkins·prometheus
To_再飞行1 小时前
K8s 存储配置资源
linux·云原生·容器·kubernetes
小猪写代码2 小时前
Ubuntu 文件权限管理
linux·ubuntu