Take the 2-minute tour ×

Hopefully short version of the question: If I'm on a machine that has a particular package installed, is there a yum command that will tell me which of it's configured repositories provided that package? (Or alternately, what repository would provide a yet-to-be-installed package.)

Background in case some context is needed: We have a maze of yum repositories that we draw from. I have a machine that has a particular rpm package installed, and another machine with an apparently insufficient maze of repositories configured, and so I am not able to install the package I want onto that machine. I need to add the minimal necessary repositories to the new machine. I can't just shotgun the repositories from one machine to the other. And just going out and grabbing the rpm isn't an option because I need this to be reproducible.

share|improve this question
add comment

4 Answers

up vote 10 down vote accepted

yum list packagename

That will show from which repository the package is in the third column of the output.

For already installed packages, that won't work, as the third column shows just "installed". In that case you can do e.g. "rpm -qi packagename", typically the Vendor, Packager and Build Host tags will give an indication to which repository the package belongs. Also it's quite common for some repo symbol being appended to the package version number.

share|improve this answer
Atomic Repo users: Vendor is blank for Atomic RPMs, but if the "Build Host" is "archelon", it's from Atomic. –  johnorourke Feb 17 at 10:08
add comment
repoquery -i {packagename} 

This will give you the actual repo name vs the unhelpful "installed" that yum returns.

share|improve this answer
add comment

For a single package, you can find this with

repoquery --qf "%{repoid}" $PACKAGE

Replace $PACKAGE with the name of the package you care about.

You can find all packages that came from a specific repository with

repoquery --repoid=$REPO -a --qf "%{name}" | sort > repo_packages
rpm -qa --qf "%{name}\n" | sort > installed_packages
comm -1 -2 repo_packages installed_packages

Replace $REPO with the id of the repository you care about; you can see the ids of all your enabled repositories with yum repolist.

share|improve this answer
add comment

You can use yum -v search that would show you packages along with repo it is present in. If you also add --showduplicates you will see all versions of that package.

Credit to: http://www.spinics.net/linux/fedora/yum/msg11975.html

share|improve this answer
add comment

Your Answer


