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:
- 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:
- 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.
- 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.
- 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.
- Have a way to copy list of packages needing updates to USB drive.
- 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".
- Bring USB drive home and dump contents into local repo.
Did it "by hand"
- 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@centos.org http://lists.centos.org/mailman/listinfo/centos