On Mon, 31 Jan 2005 09:03:30 -0700 (GMT-07:00), James Mckenzie <jjmckenzie51@xxxxxxxxxxxxx> 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.