Introduction
Before we discuss rpm command in Linux, let's first understand-What is rpm command ?
The RPM (Red Hat Package Manager) command is a package management utility used in Linux-based operating systems. It is primarily used by distributions that use the RPM package format, such as Red Hat Enterprise Linux (RHEL), CentOS, Fedora, and openSUSE. The RPM command allows users to manage software packages by installing, querying, verifying, and removing them.
In this tutorial, we will talk about how to install, update, uninstall, validate, query, and manage RPM
packages, in general, using the rpm command. We will also address a few FAQs on rpm command in Linux.
Installing, Updating, and Removing RPM Packages
When working with Red Hat-based distributions, the yum
or DNF
commands are often used to install new packages because of their ability to find and install all necessary dependencies.
When possible, use yum
or DNF
instead of rpm
to manage package installations, upgrades, and deletions.
An RPM package may be downloaded locally using a web browser or command-line tools like curl
or wget
before being installed.
It is important to use RPM packages that are compatible with your computer's architecture and CentOS distribution version. Take special caution when upgrading or replacing packages that are crucial to the operation of your systems, such as Glibc, systemd, or other system-wide services and libraries.
RPM packages may only be installed or removed by users with the root user account or the sudo user account.
By specifying the package name followed by the -i
option, the rpm
may be used to install it.
sudo rpm -ivh package.rpm
By using -v
, rpm
will provide a more detailed output, and by specifying -h
, the hash-marked progress bar will be shown.
The rpm command may be used to install RPM
packages without having to download them beforehand.
sudo rpm -ivh https://example.com/package.rpm
Use the -U
option to upgrade an RPM package. If the package is not already installed, it will be:
sudo rpm -Uvh package.rpm
The rpm
package manager will provide a list of all required but uninstalled packages if the one you are installing or upgrading relies on them. All required components must be downloaded and installed by hand.
Use the --nodeps
option when installing an RPM package to avoid needing to have all of its dependencies already present on the system.
sudo rpm -Uvh --nodeps package.rpm
Use the -e
option to erase (delete) an RPM package:
sudo rpm -e package.rpm
When you wish to uninstall a package yet keep its dependencies in place, the --nodeps
option might be helpful:
sudo rpm -evh --nodeps package.rpm
With the --test
option, you may instruct rpm
to simulate an installation or uninstall. Just whether the order would be effective is shown.
sudo rpm -Uvh --test package.rpm
Querying RPM Packages
When the rpm
command is given the -q
option, it runs a query.
The rpm -q
command may be used to search for a certain package by name and determine whether it is already installed. Run this command to see whether the OpenJDK 11 package is present on your machine:
sudo rpm -q java-11-openjdk-devel
You will see something similar if the package has been installed:
Output
java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64
To learn more about the package being questioned, pass -i
:
sudo rpm -qi java-11-openjdk-devel
To get a list of every file in an RPM package that has been installed:
sudo rpm -ql package
To determine to which package an installed file belongs, type:
sudo rpm -qf /path/to/file
With the -a
option, you may see a complete inventory of your system's packages:
sudo rpm -qa
Verifying RPM Packages
The rpm
command's verification procedure involves checking the existence of all files installed by the package, as well as the file's digest, ownership, rights, etc.
The -V
option may be used to ensure that a package installation was successful. To ensure the OpenLDAP package is legitimate, for instance, you would type:
sudo rpm -V openldap-2.4.46-9.el8.x86_64
If the check succeeds, the command will produce no output. If any of the checks fail, a failed test indicator will be shown.
Example output demonstrating modification to the file's mTime ("T"):
Output
.......T. c /etc/openldap/ldap.conf
For information on what each character signifies, see the RMP man page.
Run the following command to confirm that all installed rpm packages are present:
sudo rpm -Va
FAQs on RPM Command in Linux
How does RPM differ from other package managers?
RPM focuses on command-line utilities for package management. It is used by distributions like RHEL, CentOS, and Fedora.
What types of operations can I perform with the RPM command?
With the RPM command, you can install, upgrade, query, verify, and remove software packages.
How can I install a package using RPM?
To install a package using RPM, run the command rpm -i <package_file.rpm>
. Replace <package_file.rpm>
with the actual package file name.
Can I install multiple packages simultaneously?
Yes, you can install multiple packages in one command by specifying multiple package files, separated by spaces, after the rpm -i
command.
How can I search for installed packages using RPM?
To search for installed packages, you can use the command rpm -qa | grep <package_name>
. Replace <package_name>
with the name or part of the name of the package you are searching for.
How can I query detailed information about a package using RPM?
To view detailed information about a package, use the command rpm -qi <package_name>
. Replace <package_name>
with the name of the package you want to query.
Can I verify the integrity of an installed package using RPM?
Yes, you can verify the integrity of an installed package by using the command rpm -V <package_name>
. This command checks the digital signature and compares the files' attributes with the RPM database records.
Conclusion
Installing, querying, verifying, updating, and uninstalling RMP
packages may all be accomplished with the help of rpm, a command-line utility at a low abstraction level. Using yum
or DNF
installing RPM packages is recommended since they handle dependency resolution automatically.
Type man rpm
into the terminal or go to RPM.org for a complete list of command options.
If you have any queries, please leave a comment below and we’ll be happy to respond to them.