Fwd: How can i find out, what files a RPM is provding?

Paul Howarth paul at city-fan.org
Mon Jan 31 16:39:43 UTC 2005


David Hoffman wrote:
> On Mon, 31 Jan 2005 09:03:30 -0700 (GMT-07:00), James Mckenzie
> <jjmckenzie51 at earthlink.net> wrote:
> 
>>Don't you have to install an additional .rpm to get this functionality?  I had to, just in case the .rpm was not installed on my system.  Details are in the archive on installation of the appropriate files.
> 
> 
> I've never heard that. The query function is a standard function of
> RPM. If you have RPM installed (and you should) then you should be
> able to perform any queries of your RPM packages.
> 
> Try rpm -? for additional help.
> 
> rpm -q  = query mode
> --whatprovides is an argument to the query mode that tells RPM to look
> at it's own data and tell you which packages provided a particular
> file.
> 
> For example, I want to know what package I installed that provided me
> with libmysqlclient.so.10:
> 
> rpm -q --whatprovides libmysqlclient.so.10
> 
> Then it gives me back an answer:
> MySQL-shared-compat-4.1.9-0
> 
> So any file that is installed from an RPM package can be queried this
> way to let you know which package installed the file.
> 
> I didn't have to add any additional packages to be able to do this
> query -- or at least none that I intentionally added.

This doesn't work for *any* file, just *some* files.

For instance:
# rpm -q --whatprovides nsswitch.conf
no package provides nsswitch.conf
# rpm -q --whatprovides /etc/nsswitch.conf
glibc-2.3.4-2.fc3

For most files you'll need to specify the full path to the file. Shared 
libraries are a special case because RPM treats them as special cases.

Paul.




More information about the fedora-list mailing list