Introduction
RPM is a command-line utility for managing packages on Unix/Linux systems. It allows you to install, query, update, verify and remove RPM packages.
It is the default package manager for Red Hat based systems and only works with the .rpm format. You can install such packages using the rpm or the yum command.
In this article, you will learn how to use rpm
commands with easy-to-follow examples.
Prerequisites
- A system running Linux.
- Access to the command line/terminal.
- Access to root or an account with sudo privileges.
Linux RPM Command Syntax
The basic syntax for the command is:
sudo rpm [option] [package_name]
To see a full list of command options, run:
sudo rpm --help
RPM Command Options
Below you will find the most popular command options used with the rpm
command and their meaning.
-e , --erase | Remove (uninstall) package(s). |
-h , --hash | Print hash marks as the package installs. |
-i , --install | Install package(s). |
-l , --list | List files in a package. |
-q , --query | Query package(s). |
-s , --state | Display the state of the listed files. |
-U , --upgrade | Upgrade package(s). |
-v , --verbose | Provide more detailed output. |
-V , --verify | Verify package(s). |
RPM Command Examples
The rpm
command is simple to use and allows combining multiple options to customize each query. Explore some of the most commonly used commands listed below and try out how they work with a sample package.
Install RPM Packages
To install RPM packages with the rpm
command, use the syntax:
sudo rpm -ivh package_name
The command includes the options:
-i
(install)
-v
(verbose output)
-h
(print hash marks to show the installation process)
Before installing, you need to download the appropriate file. The package has to be compatible with the system architecture of the machine.
For instance, to install the MySQL package, you run:
sudo rpm -ivh mysql80-community-release-el7-5.noarch.rpm
To install an RPM package without previously downloading it, provide the URL:
sudo rpm -ivh package_URL
For example:
sudo rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
Note: For a more detailed guide on installing RPM packages, check out our guide on how to install RPM packages on Ubuntu.
Upgrade RPM Packages
RPM upgrades a package by uninstalling the current version and installing the latest one.
The command for upgrading a package is:
sudo rpm -Uvh package_name
-U
(upgrade)-v
(verbose mode)-h
(print hash marks to show upgrading process)
To upgrade MySQL, use:
sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm
If the new version requires additional dependencies, you must install them manually. RPM lists the missing dependencies in the output after running the command.
To ignore the message and update without the dependencies, add the --nodeps
option to the command:
sudo rpm -Uvh --nodeps package_name
Remove RPM Packages
Remove RPM packages using the -e (--erase
) option:
sudo rpm -e package_name
To see the verbose output, add the -v option to the command:
sudo rpm -ev package_name
To delete an RPM package without removing dependencies, add --nodeps
:
sudo rpm -ev --nodeps package_name
For example, to remove MySQL without removing its dependencies, you run:
sudo rpm -ev --nodeps mysql80-community-release-el7-5.noarch
Note: For a more detailed guide on removing RPM packages, check out our guide on how to remove packages in CentOS.
Display Package Information After Installing
To see available information about an installed RPM package, use the -qi
option, which instructs RPM to query info
:
sudo rpm -qi package_name
The output displays the installed information, package version, and a short description.
To do so for MySQL, run:
sudo rpm -qi mysql89-community-release-el7-5.noarch
Display Package Information Before Installing
The command for displaying information about a package prior to installation is:
sudo rpm -qip package_name
The command includes the options:
-qi
(query information)-p
(query/verify a package)
To display information before installing the MySQL package, use the command:
sudo rpm -qip mysql89-community-release-el7-5.noarch
Check Package Dependencies Before Installing
RPM allows you to check the dependencies of packages prior to installing them on the system. Bear in mind, you need to have the RPM package downloaded locally to see a list of dependencies.
The command for doing so is:
rpm -qpR package_name
The options are:
-q
(query format)-p
(query/verify a package)-R
(list package dependencies)
For example, to list the dependencies for installing the MySQL RPM package, you run:
rpm -qpR mysql80-community-release-el7-5.noarch
Verify Packages
Verifying packages means comparing metadata from the RPM database with the information from the installed files.
You can verify all installed packages using the command:
sudo rpm -Va
-V
(verify)-a
(all)
To verify a specific package run:
sudo rpm -Vp package_name
-V
(verify)-p
(package)
Verify the installed MySQL package with:
sudo rpm -Vp mysql80-community-release-el7-5.noarch.rpm
Find Manual Pages
To list available documentation related to an installed RPM package, use the -qdf
option:
sudo rpm -qdf package_name
The command options are:
-q
(query format)-d
(list documentation files)-f
(query package owning file)
To find manual pages for MySQL, use the command:
sudo rpm -qdf mysql80-comunity-release-el7-5.noarch.rpm
List All Files of an Installed Package
See detailed information about a package by listing all its files, use the -ql
option and instructs RPM to query list
:
sudo rpm -ql package_name
For example, to list files of the sample MySQL package, you run:
sudo rpm -ql mysql80-community-release-el7-5.noarch
List Installed Packages
List all of the installed RPM packages on the system by running the following:
sudo rpm -qa
The command includes the -qa
option, which instructs RPM to query all.
List Recently Installed Packages
To display a list of all the recently installed packages, use the -qa
(query all) option along with the --last
attribute:
sudo rpm -qa --last
The output lists all the installed RPM packages, ordering them by the latest package on top.
Where to Find and Download RPM Packages?
You can find and download RPM packages on the following websites:
Conclusion
In this article, you learned how to use the rpm
command for installing, verifying, upgrading, and deleting packages. Still, it is recommended to use the yum
or dnf
command for such actions as they automatically deal with dependencies.