why doesn't yum cache anything?

Jeff Spaleta jspaleta at gmail.com
Fri Dec 31 06:57:55 UTC 2004


On Thu, 30 Dec 2004 22:36:29 -0800, Jamie Zawinski <jwz at jwz.org> wrote:
> So my questions are:
> 
>   - Is there some way to make yum cache all that crap?  I'd be
>     perfectly ok with it just reusing the same repository data
>     for days at a time.  Certainly there's no need to re-download
>     it every single time I invoke yum.

Are you sure its not caching?
/var/cache/yum/base/*.pickle  should exist, and those pickle files are
cached versions of the binary data python needs in a form already
interpretted from the xml.  I naively assume they are created using
python's pickle module
http://www.network-theory.co.uk/docs/pytut/tut_58.html

My understanding is ==== hash bars are downloads and ###### hash bars
are reading things into memory. repomd.xml is a very very small file
and its used to get the checksums of the important metadata files...
like primary and filelists, with are used for dependancy resolution.
repomd is what is downloaded from each repo to see if the cached
versions of the important xml files are still valid.   How else would
you cache information and be sure the cached versions are in sync with
the versions at the repos? You have to download something to check for
sync...and repomd is pretty small...its basically an xmlized directory
listing with md5sum information, take a look for yourself: 
/var/cache/yum/base/repomd.xml

I bet you will see a difference in operation if you do yum clean
headers and make sure the cached versions. You will definitely see
primary.xml.gz being downloaded with === hash bars as an extra output.

you can also run yum makecache   to force yum to cache all the xml
files from a repository's metadata and then use yum -C to  run queries
or get listing information. Clever people even script yum makecache to
run periodically to keep the local cache synced.
yum -C  removes all network activity and uses only the local cache so
unless you cache the packages locally as well.. you cant easily use
yum -C to do installs or updates.. its very useful for check-update,
list, search, and provides  functionality.


-jef




More information about the devel mailing list