2009-11-15

So you want to install a bunch of packages after install

Ok the usual way to get a system ready for install is to use kickstart to do so. I am going to set up cobbler to do this later, but since I had a broken disk and only a F12beta DVD I went the 'hard' route of installing by hand and doing most of the extra configuration afterwords.

One of the things I was able to do before the laptop's hard-drive completely failed was to get an rpm listing:

export LANG=C
rpm -qa --qf='%{NAME}\n' | sort -u > RPM-QA.doomed

Then during the install I just picked some defaults and got a 'finished' system up with a minimal of hassle. Once the box was up and on the network I made a new listing.

export LANG=C
rpm -qa --qf='%{NAME}\n' | sort -u > RPM-QA.new
comm -2 -3 RPM-QA.doomed RPM-QA.new | awk '{print "install "$0} END{print "run"}' > big-list

I then went through the file big-list to remove some things that I didn't want this time.. and then used yum-shell to install these in a large batch.

yum shell big-list

watch lots of things, type y when it says to do so... and wait for 2 GB of RPMs to be downloaded over 768kbit line. Coming in the next morning, I had a system that pretty much matched the old laptop except for some packages no longer in F12 (DeviceKit, etc). This gives me a 'new' list to work against when F12 final comes out and I want to reinstall again.

ToDo: this wasn't the best way of doing this, but it works. Thanks to the yum developers for making it work so well from the command line mode. I look forward to figuring out ways I could do this better in the future.
Post a Comment