Today I created a yum repository
This is what happens when you are at work and you have ISOs for the 6 CDs of CentOS 5.2 but NOT the DVD, and no connection to the 'net… I couldn't use the 5.2 installer thanks to this bug (it's an embedded Celeron 650). Since I went thru all the work, I also then imported the directory as a "shared folder" under VMWare player and then did the same upgrade path on that machine (I want it to mirror the embedded machine for all versions of everything, except it also has the gcc suite, etc).
One Time Only
(This can be done on any Linux machine with the external drive connected)
- I mounted the external drive under Linux and there are the 6 ISO CDs. I mounted each and then upgraded what was on it that we already had installed.
cd /media/ext_drive/<install dir>
mkdir mnt
mount -o ro,loop <CDFILE>.iso mnt
cp -urv mnt/CentOS .
- If I were doing this again, I may mount the 6 as
/mnt1
thru/mnt6
and then try to usecp -l
to make links? - (Optionally in another window to watch progress:
watch -d 'lsof -c cp -s | cut -c37- | grep rpm '
)
- If I were doing this again, I may mount the 6 as
umount mnt
- (Repeat for all 6 - this gives us a CentOS subdir with all the RPMs. If I had the DVD instead of the 6 CDs, this would've been easier)
- Now we will make this new directory into an "official" repository
cd CentOS
rpm -i createrepo*rpm
(glad that was there!)mkdir repo_cache
createrepo -v -p -d -c repo_cache --update --skip-stat .
- This step takes forever (even longer than the copying above)
- With a DVD image, this is most likely not even needed!
Every Target Machine
- We need to disable all the remote repositories:
- Edit
/etc/yum.repos.d/CentOS-Base.repo
and addenabled=0
to every section - Edit
/etc/yum.repos.d/CentOS-Media.repo
and change toenabled=1
- Depending on where the external hard drive is,
baseurl
will need an added path to it- When I did it, it was
file:///media/ext_drive/LinuxInstallers/CentOS-5.2-i386-bin-1to6/CentOS/
- When I did it, it was
- There is a known bug in 5.1 - the GPG signature key should be
RPM-GPG-KEY-CentOS-5
(not "beta
")
- Depending on where the external hard drive is,
- Edit
yum clean all
yum install yum-protect-packages
yum upgrade yum
yum clean all
yum upgrade --exclude=kernel\* -y | tee upgrade.log
- (Optionally in another window to watch progress:
watch -n1 'lsof -c yum -s | cut -c43- | grep rpm '
)
- (Optionally in another window to watch progress:
grep warn upgrade.log
- For this, you need to
diff
each file with the.rpmnew
file or.rpmold
file and merge them together.
- For this, you need to
- Reboot!
Comments
No comments.