Querying the Package Management Database
The RPM package management database is an essential source of information about your system. The database is created when the system is installed and is updated whenever packages are added or removed.
As RPM packages are installed on your system, the metadata for those packages is stored in a database that can be queried. If you have a mystery file on your system and want to know where it came from, or want to know which version of a package is installed, or what a package does, an RPM query can answer your question in a few seconds.
How Do I Do That?
The rpm program provides access to the RPM database. The -q option enables query mode.
The default query takes a package name and tells you whether it is installed and, if so, which version is installed:
$rpm -qpackage selmyscan is not installed $selmyscanrpm -qhttpd-2.0.54-10.2httpd
More advanced queries use two different sets of arguments: one to control which packages are reported in the output, and one to control what is reported about the selected packages.
Table 5-1 describes the most commonly used options for selecting packages.
Table 5-1. RPM query options for package selection
| Option | Description |
|---|---|
-a | Selects all packages. |
-f
| Selects the package that installed file. |
-g
| Selects the packages that belong to pkggroup (such as Applications/Productivity). |
-p
| Selects the uninstalled RPM package file pkgfile, which can be a local filename or an HTTP or FTP URI. Information ... |