[CentOS] CentOS6: installing 32bit and 64bit RPMS via the installer?

Fri Jul 15 10:36:02 UTC 2011
James Pearson <james-p at moving-picture.com>

James Pearson wrote:
> James Pearson wrote:
> 
>>Installing 64bit CentOS6 only installs x86_64 and noarch RPMS - however, 
>>I have a number of legacy 32bit apps that require a number of 32bit RPMS 
>>to be installed.
>>
>>Does anyone know how to get the installer to install the 32bit versions 
>>of 64bit RPMS? i.e. in the way it does for CentOS5.
> 
> 
> After and bit of digging, it appears to be down to a change of a default 
> setting in yum with CentOS6
> 
> The yum config option multilib_policy is now 'best' in CentOS6 - in 
> CentOS5 it is 'all' - which means CentOS6 will only install the x86_64 
> version if both a x86_64 and i686 RPM exists in the repo
> 
> I guess if I want to revert this back to 'all', I'll need to hack 
> anaconda to add 'multilib_policy=all' to the temporary yum config file.

In case anyone needs to do this - here is what I've done:

As I install over NFS from a local copy of the distro, I created a 
directory called 'RHupdates' at the top level of the install tree and 
copied in the file 'yuminstall.py' from the anaconda RPM to that directory.

I edited the RHupdates/yuminstall.py file and added after line 1186:

multilib_policy=all

i.e. that line gets added to the /tmp/anaconda-yum.conf file anaconda 
uses to do the install via yum (files in the RHupdates directory will 
override files of the same name used by anaconda).


I guess I could have done something similar via a kickstart file (which 
I haven't tested) - e.g.

%pre
echo "multilib_policy=all" >> /tmp/anaconda-yum.conf


After the install, I added the same "multilib_policy=all" line to 
/etc/yum.conf - so a subsequent 'yum update' will update the 32bit 
packages as well.

James Pearson