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?
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.
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:
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):
BTW, both multilib_policy=best and exactarch=1 seem to be the default for some time now.
-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.
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:
Then run this (I'm assuming bash):
That will give you a list of non x86_64 rpms currently installed. You can remove all of them with this:
Now you have a pure 64bit system.