Yum on several machines

Craig White craigwhite at azapple.com
Mon Oct 29 03:44:45 UTC 2007


On Sun, 2007-10-28 at 23:15 -0400, Leonid Flaks wrote:
> Tony Nelson wrote:
> > At 6:55 PM +0000 10/28/07, Mike C wrote:
> >   
> >> Timothy Murphy <tim <at> birdsnest.maths.tcd.ie> writes:
> >>
> >>     
> >>> I want to yum-update on several machines,
> >>> and I want to avoid repeatedly downloading the same packages.
> >>> So what I want when I run "yum update" on machine A
> >>> is for it to look for RPMs in a specified directory
> >>>       
> >> What I do is have a small bash script that rsync's the packages and
> >> headers in the /var/cache/yum area from the one machine, where they are
> >> downloaded during its own update, to the others.
> >>
> >> Then I run a normal yum update on the other machines in the LAN after the
> >> rsync, and they will get most of the rpm files from the rsync'ed data, but
> >> it leaves the machines free to download any extras from the external
> >> repos. Not all machines have the same set of rpms necessary unless they
> >> are setup in identical fashion.
> >>
> >> By doing it this way the files in /var/cache/yum use at least an order of
> >> magnitude less disk space than if every rpm were stored on the main
> >> machine as a fedora repo. As far as I remember the full set is around
> >> 10GB, whereas the machines I update generally only need less than 1GB even
> >> if they are updating after a first install.
> >>     
> >
> > This sounds like a really workable solution, and more efficient than the cp
> > version.
> >
> > Others suggest squid.  Squid or any other proxy won't work well unless the
> > same mirror is used every time.
> >
> > Yum-presto on all machines can provide further download savings.
> >   
> Another solution (similar to rsync) is to use nfs-shared cache 
> directory. In my case I have /var/cache/yum as a link to this shared 
> directory. Then I need only one set of updates. With this configuration 
> lock file is also shared, so you probably can't do 'yum update' on more 
> then one system at a time.
> I am using distributed shell (dsh) for yum updates anyway, so it is not 
> an issue.
----
the solution I have found to be the most versatile is mrepo
(rpmforge/dag)

it mirrors whatever repos you choose and then serves it up as a repo
itself so you have yum point to your local web server which has the
mrepo mirror on your local lan.

This also allows you to install via http and it's very fast...set up a
cron job to rsync the repo's during the night.

I've set that up at work (currently serving fc6-i386, fc7-i386,
fc7-x86_64, fc7-ppc). Bonus was that it simplified installations for fc7
where I didn't have to bother burning a DVD or whether the system has a
DVD drive.

Craig

Craig




More information about the fedora-list mailing list