How do I find out which repository a package was installed from in CentOS?
Solution 1:
Modern versions of YUM provide this information.
For instance, on my Fedora 15 system with YUM 3.2.29:
# yum info mysql-server Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit Installed Packages Name : mysql-server Arch : x86_64 Version : 5.5.14 Release : 2.fc15 Size : 42 M Repo : installed From repo : updates Summary : The MySQL server and related files URL : http://www.mysql.com License : GPLv2 with exceptions Description : MySQL is a multi-user, multi-threaded SQL database server. MySQL is a : client/server implementation consisting of a server daemon (mysqld) : and many different client programs and libraries. This package contains : the MySQL server and some accompanying files and directories.
You might see if there is a newer version of YUM that provides this information available for your system.
Solution 2:
An updated - slightly more useful - answer, for those who were as unfortunate as I was to have stumbled upon this...
For Fedora (and presumably Centos & RHEL) e.g.:
dnf whatprovides postgresql-server
Using metadata from blah blah blah
postgresql-server-9.3.9-1.fc21.x86_64 : The programs needed to create and run a PostgreSQL server
Repo : @System
postgresql-server-9.3.5-4.fc21.x86_64 : The programs needed to create and run a PostgreSQL server
Repo : fedora
postgresql-server-9.3.9-1.fc21.x86_64 : The programs needed to create and run a PostgreSQL server
Repo : updates
As you can see, it lists @System
for the package that's currently installed, as well as from what repos and versions it could possibly be installed from. The important part here thou, is the last item listed, the version details and name of which match what's installed exactly. It was therefore installed from the fedora updates repository. Dnf, like yum, also supports the info option, i.e.:
dnf info postgresql-server
However, on my system, the dnf output does not display the From repo
field, unlike the yum command, so YMMV.