I have a local yum repo with some rpms in it. I want to upgrade one of the packages on all my servers. Let's say the existing one is foo-1.0.x86_64.rpm. I dropped in to the local yum repo a new one called foo-1.2.x86_64. Now, when I do yum update foo, it says no packages marked for update. What do I need to do so that the servers pick up the update?

In the yum.conf, I tried specifying something like: [updates] baseurl=

but that didn't work.

3 Answers 3


First off, did you run createrepo on your yum repository? You'll need to rebuild the metadata whenever you add new packages.

Secondly, what's the timeout on the cache? You can forecfully clean your localized metadata on your client by running yum clean all, then try checking for updates again. It will download all updated metadata from the repositories.

Hope this helps!

  • Ah, I did not run createrepo again. That was it. Thanks a lot! Apr 7, 2011 at 3:22
  • 1. createrepo has --update option. 2. You can just clean your local repo by running yum --disablerepo=* --enablerepo=localrepo clean all.
    – quanta
    Aug 31, 2012 at 5:30

I was having same issue. I did 'yum clean all' on rpm client. I ran 'createrepo' on Yum Repo server. Nothing worked.

Finally I was able to fix this by adding following line in /etc/yum.conf on Yum clients:


After I added the line on Yum clients, yum command picked up new rpm on local Yum repo without any problem.

Following command shows you more info:

man yum.conf

FYI. CentOS 5 has the parameter commented out. CentOS 6.2 has 90m for the value.


Assuming you ran the createrepo command after dropping the new RPM in there, try yum clean expire-cache and it should pick it up.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .