Re: yum local { partial } mirror



Timothy Murphy wrote:
Kam Leo wrote:

I asked a while ago if there was any way
of only downloading a package once
and then installing it on several machine,
and I was advised that the yum-downloadonly plugin
would serve this purpose.

You do not need the yum-downloadonly plugin. Edit /etc/yum.conf and
change "keepcache=0" to "keepcache=1". All the rpms that yum downloads
will remain in the /var/cache/yum directories (separate directory for
each repo) until you dispose of them (yum clean packages, rm xxx, mv
yyy, etc.).

If you want other machines on your network to be able to use those
downloaded rpm files copy or move them to another directory, e.g. your
localrepo directory.

Thanks very much to you and the other responders.
Having read all the suggestions, what I'm proposing is:

0. Set keepcache=1 in /etc/yum.conf on each machine .

1. Soft-link /var/cache/yum on each machine to /common/yum ,
where /common is NFS-shared by all my computers.
You might find locking issue if multiple machines try to access the central cached repodata at the same time, since each machine stores its yum lock file on it's local disk, ie a different location. This is likely to lead to corruption of the downloaded metadata IMHO.

2. Now on each machine run - perhaps daily -
yum localupdate /common/yum/*.rpm
You don't need the localupdate {unless you want to vet updated packages before releasing them to other machines}. You want machines with differing installed packages to be able to get packages from your nearest mirror.
A normal yum update will use already downloaded packages in the /var/cache/yum/fedora/packages dir {as long as the package has the correct checksum according to the repodata}. This saves yum needing to download the header as well {AFAICT}.

3. Every week run "yum clean cache" on the machine carrying /common .
clean cache used to be a yum option but isn't any longer. It is split into dbcache {sqlite} and metadata. Yum uses the conf setting:
metadata_expire=1800 # this is seconds=> 30 mins, this might be 15 mins by default. If the repodata hasn't been retrieved in longer than this time, then the repodata is refetched. You could avoid this for the extra machines by setting the expire time to 24 hours or so. Might help with {1} as well.

I'd be interested to know what the experts think of this proposal.
No expert, but:

Might just work ?
===
My version:
main machine:
- /etc/yum.conf:
- keepcache=1
- failovermethod=priority {go through baseurls/mirrorlist in order, not random}
- /etc/yum.repos.d/*.repo
- add baseurls for my nearest mirrors {my own isp first = free downloads}.
- install every package that is installed on any other machine.
- to not install every update automatically on the main machine:
- yum install yum-downloadonly, and add --downloadonly to yum update line below.
- yum -y update every day in cron job. {I align the time to within an hour of when my nearest mirror gets synced}.
- {6} copy the repodata from each active repo yum cache to a folder so that it matches the original relative paths compared to /packages folder.
- vsftp server anon_root the files.

other machines:
- /etc/yum.conf:
- failovermethod=priority {go through baseurls/mirrorlist in order, not random}
- /etc/yum.repos.d/*.repo s
- put the main machine as the first mirror baseurl.
- cron schedule yum -y update to be soon after main machine is usually complete.

Your method {shared cache folder} makes part {6} not required, so let us know if it works OK, and how many client machines are checking.

DaveT.

--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list



Relevant Pages

  • Re: yum update/install from a specific repo
    ... This plugin adds the command alias, ... Yum plugin to enable manual downgrading of packages ... Yum plugin to let Yum install only basearch packages. ...
    (Fedora)
  • Re: updating with yum (was: Need help: X GUI objects invisible)
    ... >>It will take a while to download and install all the packages, ... Does yum work along the same lines? ... enough to update your system by the install (if you upgraded from FC2, ... >>(sometimes not even other versions of SuSE). ...
    (Fedora)
  • yum localupdate weirdness on x86_64
    ... I'm trying to install FC6 for x86_64 on my notebook (this is not going ... yum localupdate *.rpm ... but that didn't work well when updated packages had new dependencies.) ...
    (Fedora)
  • Re: FC5: Evolution dependency errors
    ... I just did a "yum -y update on fully patched FC5. ... Searching Packages for Dependency: ... Reading repository metadata in from local files ... Setting up Install Process ...
    (Fedora)
  • Re: [SLE] Smart Update problem
    ... couldn't be retrieved(lots of packages were downloaded). ... now go away and finish downloading the outstanding packages. ... a single "transaction". ... 'smart install') into which I ...
    (SuSE)