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 包,包括查看包的详细信息、列出安装文件、查询依赖、安装、卸载和升级软件包等操作。

相关推荐
m0_637146934 分钟前
C语言基础面试问答
运维·服务器
t198751288 分钟前
Linux 上的 Tomcat 端口占用排查
linux·tomcat·firefox
小狗爱吃黄桃罐头29 分钟前
正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介
linux·arm开发·学习
ricky_fan1 小时前
window下配置ssh免密登录服务器
运维·服务器·ssh
地衣君1 小时前
Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程
linux·运维·ubuntu
2401_858286111 小时前
OS11.【Linux】vim文本编辑器
linux·运维·服务器·编辑器·vim
朱包林1 小时前
day27-shell编程(自动化)
linux·运维·服务器·网络·shell脚本
钢铁男儿1 小时前
一文掌握 Tombola 抽象基类的自动化子类测试策略
运维·自动化
kaede2 小时前
Linux实现线程同步的方式有哪些?
linux·运维·云计算
德先生&赛先生2 小时前
Linux编程:2、进程基础知识
linux