Cross-grading from SL v5.1 i386 to SL v5.2 x86_64
Ok, that Scientific Linux v5.1 x86_64 CD you installed your Opteron server with turns out to be i386. Start again? Or do something more interesting instead?
1. |
Upgrade the Obvious Way |
Stick in your v5.2 x86_64 netinstall CD and reboot. Eventually the install process starts "searching for previous installations", apparently finds it, but then at the page with radio buttons offering Install and Upgrade defaults to Install. Select Upgrade, then click Next. The upgrade should proceed nicely; at the end, eject the CD and reboot.
2. |
Clean Up the i386 RPMs |
There will now be both i386 and x86_64 versions of many packages installed. To see this
rpm -qa --queryformat '%{name}.%{arch}\n'Delete them using rpm -e <package>.i386. . .
A Sticking Point
One sticking point needed wiping out. These packages
libselinux.i386 libgpg-error.i386 libsepol.i386 device-mapper.i386 cryptsetup-luks.i386 libgcrypt.i386 e2fsprogs-libs.i386refused to budge because
rpm -e cryptsetup-luks.i386 cryptsetup-luks >= 1.0.1-2 is needed by (installed) hal-0.5.8.1-35.el5.x86_64which seems odd, and, for example,
rpm -e libgpg-error.i386 error: Failed dependencies: libgpg-error.so.0 is needed by (installed) libgcrypt-1.2.3-1.i386 libgpg-error.so.0 is needed by (installed) cryptsetup-luks-1.0.3-4.el5.i386
The solution is to get the latest x86_64 version of cryptsetup-luks, e.g.,
wget http://ftp.scientificlinux.org/linux/scientific/52/x86_64/updates/fastbugs/cryptsetup-luks-1.0.3-4.el5.x86_64.rpmthen install it
rpm -ivh cryptsetup-luks-1.0.3-4.el5.x86_64.rpmThen the remaining i386 packages can be removed.
3. |
Configure RPM and Clean the YUM Cache |
RPM will still be set to pick up i386 packages rather than x86_64. So edit /etc/rpm/platform — change
athlon-redhat-linuxto
x86_64-redhat-linux
Finally,
yum clean alland
yum updateand all should be well.
4. |
Configure YUM |
Within /etc/yum.repos.d/*, ensure you update, e.g.,
http://ftp.scientificlinux.org/linux/scientific/52/x86_64/SLrather than
http://ftp.scientificlinux.org/linux/scientific/51/i386/SL