7

Why does the i386 version of most software get installed, along with the x86_64 version, on a CentOS 64-bit system?

# yum install php-xml Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Setting up Install Process Package php-xml-5.3.12-5.el5.art.x86_64 already installed and latest version Package php-xml-5.3.12-5.el5.art.i386 already installed and latest version Nothing to do 
0

3 Answers 3

4

CentOS has an answer on their faq page about it, it is for compatibility with 32 bit stuff.

To fix it, their answer says to add exclude = *.i?86 to your yum.conf. However if you have i386 rpms installed, updates will break so make sure you remove them before doing this.

I prefer setting multilib_policy=best so in the oddball case you do need something 32 bit, it will be installed but not by default.

multilib_policy - Can be set to ’all’ or ’best’. All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64, if it is available. Best means install the best arch for this platform, only.

5
  • all right, thats useful. is multilib_policy=best generally safe? I dont want to have headaches down the line in order to save some disk space... and where do I set multilib_policy? yum.conf? thanks! Commented May 9, 2012 at 22:42
  • @Gala multilib_policy=best is safe. I had headaches down the line doing it the 'exclude' way, specifically when I didn't remove the i686 rpms which broke updates and more headaches when trying to install something that needed glibc.i686. If you don't want the i386 RPMs, you can remove them using the instructions from CentOS, then add the multilib_policy . Commented May 9, 2012 at 23:11
  • i think the problems i am having now are related to my setup. would you mind chiming in if you have any ideas? thank you unix.stackexchange.com/questions/47287/… Commented Oct 9, 2012 at 0:53
  • So the line do multilib_policy doesn't exist at all in yum.conf do i have to add it? Commented Jun 8, 2013 at 11:24
  • @rafael Yes; not all possible config lines are in the file. "Best" is the default if nothing is specified in more recent versions of yum, but "all" was the older default. (In current RHEL 6 and in all recent versions of Fedora, it defaults to "best".) Commented Jun 8, 2013 at 14:00
2

It's for compatibility. Those packages are needed to run 32bit software on 64bit systems.

1

If you do not want that behaviour you have to install package.x86_64 instead. Most of the i386-packages are there because they have to fulfill some dependency with a program that is still 32-bit (e.g. firefox).

2
  • I understand that applying to a desktop machine, but to a server? It doesnt have a GUI, only server software and AFAIK it is all x64... Commented May 9, 2012 at 22:41
  • @Gaia Not all - even on a server. Try yum erase PACKAGE.i386 .... on most packages the uninstall will work - on others there will be a huge dependency tree. You can try this without worries - you have to confirm the deinstallation with "y". Commented May 10, 2012 at 11:03

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.