RPM是基于RedHat Linux发行版的软件包管理器,例如CentOS和Fedora。RPM还指rpm
命令和.rpm
文件扩展名称。
RPM软件包包括文件和元数据的存档,其中包括诸如依赖和安装目录之类的信息。
在本教程中,我们将讨论如何在Linux使用rpm
命令安装,更新,删除,查询以及以其他方式管理软件。
安装 RPM文件
通常,要在基于RedHat的Linux发行版安装软件包,建议使用yum
或dnf
命令,这些命令可以解决依赖并安装软件包。你应该始终优先使用yum
或dnf
而不是rpm
。
在安装RPM软件包之前,必须首先使用浏览器或命令行工具,例如curl或wget下载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文件时,应首选使用yum
或dnf
,因为它们会自动为您解决所有依赖软件。
如果您有任何问题或反馈,请随时发表评论。