RPM是基于RedHat Linux发行版的软件包管理器,例如CentOS和Fedora。RPM还指rpm命令和.rpm文件扩展名称。

RPM软件包包括文件和元数据的存档,其中包括诸如依赖和安装目录之类的信息。

在本教程中,我们将讨论如何在Linux使用rpm命令安装,更新,删除,查询以及以其他方式管理软件。

安装 RPM文件

通常,要在基于RedHat的Linux发行版安装软件包,建议使用yumdnf命令,这些命令可以解决依赖并安装软件包。你应该始终优先使用yumdnf而不是rpm

在安装RPM软件包之前,必须首先使用浏览器或命令行工具,例如curlwget下载RPM软件包。

安装RPM软件包时,请确保软件包是为您的系统架构或者系统的版本构建的,要检查系统的版本请参考我们教程如何检查Linux 版本

在替换或更新重要的系统软件包,例如glibc,Systemd或其他对于系统正常运行必不可少的服务和库,需要格外小心。

只有root用户或具有sudo权限的用户才能安装RPM软件包。要使用rpm命令安装RPM软件包。请使用rpm命令的-i选项,后跟软件包名称。

sudo rpm -ivh google-chrome-stable_current_x86_64.rpm

rpm命令的-v选项打印详细输出,-h选项打印带有哈希标记的进度条。如果使用-U选项则会更新指定的软件。

您也可以跳过下载过程。rpm命令接受URL做作为参数,直接安装URL指定的RPM文件。

sudo rpm -ivh https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

如果您要安装或更新的软件包依赖系统当前未安装的软件,rpm命令将打印所有缺少的依赖软件。

此时你应该使用yum命令或者dnf命令安装RPM文件,yum命令或者dnf命令可以帮助我们解决RPM软件包的依赖。

sudo yum install ./google-chrome-stable_current_x86_64.rpm

rpm 命令查看rpm文件的信息

通常rpm文件的名称很多时候都不会是软件的名称。但你也可以根据rpm文件查询软件名称,组合使用rpm命令的-i选项和-q选项。

rpm命令的-i选项将会打印软件包的信息,包括软件的名称,版本,发行日期,大小,是否安装或者安装的日期。

sudo rpm -qi google-chrome-stable_current_x86_64.rpm
Name        : google-chrome-stable
Version     : 108.0.5359.71
Release     : 1
Architecture: x86_64
Install Date: (not installed)
......
Description :
The web browser from Google

Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.

rpm 命令查询已安装软件包

要查询指定的软件包信息,请使用rpm命令的-q选项后跟软件包的名称。例如命令sudo rpm -q java-11-openjdk-devel查询java-11-openjdk-devel是否安装。

如果java-11-openjdk-devel已安装,您将看到软件的名称java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64

如果你忘记或者不知道软件名称,可以同时组合使用rpm命令的-q-a选项查询所有软件包,然后使用grep命令搜索指定的关键词,确认指定的软件包是否安装。

sudo rpm -q java-11-openjdk-devel
sudo rpm -qa | grep java

RPM 命令卸载软件

要删除已安装的软件包,可以使用rpm命令的-e选项,后跟软件名称。通常我们不不建议使用这种方式删除软件,因为rpm命令不会删除软件的依赖。

如果要删除软件,可以使用yum命令或者dnf命令。yum或者dnf命令删除软件的子命令是remove,后跟软件的名称。

如果你忘记软件的名称可以运行命令sudo rpm -qa | grep java查询所有已安装的软件。

sudo rpm -qa | grep chrome
sudo yum remove google-chrome-stable

结论

rpm命令用于安装,查询,验证,更新和删除rpm文件的低级命令行工具。安装RPM文件时,应首选使用yumdnf,因为它们会自动为您解决所有依赖软件。

如果您有任何问题或反馈,请随时发表评论。