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

Fri Jul 15 14:12:22 UTC 2011
Ljubomir Ljubojevic <office at plnet.rs>

James Pearson wrote:
> 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.
> 
I had a problem with 32-bit rpms on 64-bit system. I tried to install 
krusader-2.0.0.i386 in 64-bit system, and it reported that files from 
openssl(I think) x86_64 conflicts with files in same package but i686. 
That means that there are packages that can only be install as pure 
64-bit, no multilib.

Ljubomir