up2date - or [Home boy howto for heavy updates]

Harry Putnam reader at newsguy.com
Fri Feb 27 23:15:01 UTC 2004


Todd Wolcott <lionofdharma at yahoo.com> writes:

> I just reinstalled FC1 from CD.   Of course, there
> were a ton of updates in the Red Hat Network Alert
> tool.    When I run up2date, it takes forever.  Most
> of the updates are coming at about 10-15k per second.   

This is one circumstance where not being a hands on admin won't work. 
Lighter updates can be automated fairly easy but this is a rather
heavy gage update.  Akin to a reinstall almost.

I use a few tricks in those circumstances

> I know there are other tools out there to run updates,
> like yum, but I want something that is automatic.   I
> am the type of linux user that doesn't want to touch a
> command line.   I am not in the computer field, I just
> have a geek streak in me that is attracted to linux.

I too have noticed thread and discussion about other tools people
just swear by but I have had good performance with `up2date' right on
down the line.  

Shortly afer it was first introduced I began using it and have had no
good reason to change right on up to the current fc2 test 1 I'am
running.

Here are a few tricks that will get you past the big changerama, you
won't need them all on lighter updates.

=======

1) IMPORTANT get on a good mirror.  Others have posted the URL to
   look at them.  Try some out with a hefty download.  I'll say how
   in a minute.  But you will need to put them in 
   /etc/sysconfig/rhn/sources one by one and test.
   Once you have one with good connect speed that won't be necessary
   again until something changes.

2) using up2date --config change the default answer to:
   8.  retrieveOnly       (from no to yes)
   up2date will then only download and not install unless told to do
   so.  You'll see why this is a good move further along.

3) Look at `man up2date' and familiarize yourself with the plentifull
   options.  Particularly you'll want to use `--get' in the present
   circumstance. It allows you to download without dependancy solving.
   
Now you are ready for some tests.  And to get some of the many updates
on disk where all things about `up2date' work much better.

 `up2date --list' will show you what is needed in the way of updates.

I like to redirect the output to a file for further processing

  up2date --list 2>&1|tee up2date.log

Will allow you to see all the action as well as capture it to
up2date.log including any errors

Using the list you captured you can begin testing for a good mirror.

But first edit it into a more usable form.  First remove the top few
lines down to where the packages start and save, then.

  awk '!/^$/{print $1}' infile >pkg.list

pkg.list should be a nice list of the update packages
You could do all this back at the `up2date --list' stage but might not
quite get what is happening.
If you want to try the linux way:

  up2date --list |awk '/i386/{printing=1}
                       printing && !/^$/{print $1}' >pkg.list

It might take a while because it has to download all *hdr files.  But
they are small.

Now, because you have so many to update try `up2date --get' on a few
at a time to test the mirrors like this:
   head -10 pkg.list >get_10
   up2date --get `cat get_10`
 (those are back tics not quote marks)

Or in the more cryptic unix way:
   up2date --get `head -10 pkg.list` 

The --get flag will just download, and you'll see how the mirror is
for speed.

Try another 10 on a different mirror ... etc.

When you get a good mirror go ahead and `--get' the rest in one move.

====

Now you are ready for actual updating..

You will have most packages and dependancies on disk now.  But you
still need to ask the up2date server to solve dependancies.

Try a few at a time again but tell up2date to install them and to look
on disk for the updates like this:

 `up2date -i pkg.name1 pkg.name2 pkg.name3 -k /var/spool/up2date'
  (`pkg.name' does not include <version>.i386.rpm. Just the name part)
    (The -i flag tells up2date to install them -k tell up2date to look
  there)

That should solve any dependancies and install pkg1-3

Try more, like 20 or so.  And finally whatever is left.

With the packages on disk, up2date doesn't have to work so hard so
things are accomplished smoother.

The steps laid out here will not be needed for smaller updates.
Those can be as simple as:
   `up2date -i -u' 





More information about the fedora-list mailing list