[CentOS] Yum w/o direct connect

Tue Aug 8 03:10:57 UTC 2006
Ted Miller <tmiller at broadcast.net>

I made some progress, so am answering myself, and maybe someone else can 
help me along.

> I am hoping someone else is already doing what I need to do, and can give
> me some pointers.
> 
> Situation:
> 1. I am running Centos 4.3 x86_64 on a machine at home, without broadband
> access.  I have dialup access, but that doesn't work very well for
> something like "yum update", so I am still running 4.3 as issued on the CDs.
> 2. I have high speed access at work, and I have a USB drive to move files
> from work to home.
> 
> Proposed solution (other than get broadband):
> A. Make a "pretend repo" on the hard drive of home machine by:
>    1. Install yum "index" file for each repo in directories at home.  Use
>       rsync via dialup to keep those repo "indexes" up to date (after
>       initial install).  [A sample rsync command line would be helpful.]

I got rsync working.  So far I have imported all the files in the 
"repodata" directory, but yum only seems to use primary.xml.gz and 
repomd.xml.  Do I need to have the other files (filelists.xml.gz, 
other.xml.gz)?  They are much bigger than the two that are getting used, so 
if I don't need them, it will speed up the updating process a lot.

>    2. Persuade yum to give me a list of packages (that I need to download
>       in order to execute a package install or update) and capture that
>       list in a format that I can feed into rsync (at work).

I don't know if I succeeded or failed at this one.  I issue a

"yum resolvedep xorg-x11" command, all I get back is:

Searching Packages for Dependency:
Setting up repositories
Reading repository metadata in from local files
0:xorg-x11-6.8.2-1.EL.13.25.1.x86_64

I am fairly certain that I have to install the libraries when upgrading a 
big package like X11, so the response is a bit baffling to me.

when I running "yum deplist xorg-x11" I get pages and pages of dependencies 
without any indication of which packages I already have on my computer, and 
which I don't.  I ran "yum deplist firefox", which I just installed, and 
yum gave me the pages of dependencies, but the packages are already there. 
  What I need is a list of all the packages I need to download to install 
that package, so I can go to work, download them all, bring them home, 
transfer them to the computer, and turn yum loose to do the install.

>    3. Have a way to separate package list into three categories:
>       a. Packages already in correct version my local repository.
>       b. Packages needing an update in my local repo.
>       c. Packages I need to download wholesale.
>    4. Have a way to copy list of packages needing updates to USB drive.
>    5. Take list of packages to work, and use rsync to transfer/update the
>       packages onto the USB drive.

I only wanted two packages today (Firefox 1.5 and Thunderbird 1.5), so I 
just did the download "by hand".

>    6. Bring USB drive home and dump contents into local repo.

Did it "by hand"

>    7. Run yum to do the updates.

Ran just fine, but these packages had no unresolved dependencies.

> I think this is how to do things in general terms, but I could use a good
> bit of help in coming up with some scripts to automate/semiautomate the
> process.  I think #3 may be the hardest one to automate.
> 
> Anyone doing this?  Anyone good with rsync and yum, and care to give me a
> starting point, even if your try is untested?  Console approach is fine
> (GUI OK too), but I am new to yum (moving from Mandriva), and have used
> rsync a few times successfully, but am no master at it.
> 
> Also, I have 4 install disks.  Which repos are on those disks, and which
> repos are on which ones?

I came to the conclusion that my 4 disks constitute the "base" install.  Am 
I right?

  > Ted Miller
> CentOS 4.3 x86_64
> 
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>