Find the Fedora/Red Hat package providing a command
My previous post explains, given a Debian or Ubuntu system, how to find the package that provides a command or file. This post covers the same topic but for Fedora or any modern RPM-based system.
yum provides
Suppose you want to run the mate-system-log command.
$ mate-system-log
-bash: mate-system-log: command not found
To identify the package that provides mate-system-log:
$ yum provides mate-system-log
Loaded plugins: langpacks, refresh-packagekit
mate-system-log-1.6.0-3.fc19.i686 : A log file viewer for the MATE desktop
Repo : fedora
mate-system-log-1.6.1-1.fc19.i686 : A log file viewer for the MATE desktop
Repo : updates
The yum provides command searches the yum cache which contains information about the installed package base as well as what is available in the configured repositories. It matches the input argument against meta-data in the yum cache as a command/feature (mate-system-log), or as a file path. The latter enables you to find the package that provides a file:
$ yum provides /etc/wgetrc
Loaded plugins: langpacks, refresh-packagekit
wget-1.14-5.fc19.i686 : A utility for retrieving files using the HTTP or FTP protocols
Repo : fedora
Matched from:
Filename : /etc/wgetrc
wget-1.14-10.fc19.i686 : A utility for retrieving files using the HTTP or FTP protocols
Repo : updates
Matched from:
Filename : /etc/wgetrc
wget-1.14-10.fc19.i686 : A utility for retrieving files using the HTTP or FTP protocols
Repo : @updates
Matched from:
Filename : /etc/wgetrc
yum search
Suppose you want to find the package that provides the Apache Web Server. Unless you know the exact package name, yum provides is not helpful in this case.
$ yum provides apache
Loaded plugins: langpacks, refresh-packagekit
No matches found
Instead, use yum search. It matches the input keywords against both the package name as well as the package description.
$ yum search Apache Web Server
Loaded plugins: langpacks, refresh-packagekit
===== N/S matched: Apache, Web, Server =====
apache-commons-digester.noarch : XML to Java object mapping module
apache-rat.noarch : Apache Release Audit Tool (RAT)
httpd.i686 : Apache HTTP Server
system-config-httpd.noarch : Apache configuration tool
From the above output, we can conclude that the package providing Apache is httpd.