Everytime I install something with yum, it tries to install both x86_64 and i386 versions of the package if both are available. Is there any way I can forbid that without specifying the arch of the package?
7 Answers
Add multilib_policy=best to your /etc/yum.conf
Yum will now try to install the "best" package.arch for your system and it will only install that one (as long as it is available).
Assuming you're on a 64-Bit system, yum will first try to install package.x86_64, if that doesn't exist it will fall back to i386 and noarch.
The default setting is multilib_policy=all, which means to install all possible arches.
- 334
I've been using option exactarch=1 in /etc/yum.conf for some time, and it has worked for me.
It still allows you to manually specify arch, but if you don't, it install only x86_64, not both.
According to el6 manual, yum.conf(5):
exactarch Either ‘1’ or ‘0’. Set to ‘1’ to make yum update only update the architectures of packages that you have installed. ie: with this enabled yum will not install an i686 package to update an i386 package. Default is ‘1’.
...
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.
BTW, both multilib_policy=best and exactarch=1 seem to be the default for some time now.
- 145
- 4
It would try to install i386 version if you have x86_64 version already installed.
Pay attention that if you use exclude in yum.conf you could exclude packages only being available in i386 arch
A safer way could be to explicitly request the arch at install time:
yum install package.x86_64
- 11,099
-x, --exclude=package Exclude a specific package by name or glob from updates on all repositories. Configuration Option: exclude
--disableexcludes=[all|main|repoid] Disable the excludes defined in your config files. Takes one of three options: all == disable all excludes main == disable excludes defined in [main] in yum.conf repoid == disable excludes defined for that repo
above from man you can use or you can install yumex which give gui u can choose the rpm which you need to install.
- 3,349
What works for me is removing all of the ix86 packages from the machine. Now it never asks me to install any 32bit anything.
First setup your .rpmmacros like this:
cat ~/.rpmmacros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
Then run this (I'm assuming bash):
rpm -qa | egrep "i.86$"
That will give you a list of non x86_64 rpms currently installed. You can remove all of them with this:
rpm -e $(rpm -qa | egrep "i.x86$")
Now you have a pure 64bit system.
-Dave
- 4,275
List i386
yum list installed | grep i386
And now you can remove it or update it to x86_64
- 1
- 1