Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

5 Answers 5

up vote 8 down vote accepted

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.

share|improve this answer
1  
+1 Yes, that's the best answer. Unfortunately, most people don't now this option. –  knweiss Oct 24 '09 at 14:06

Use the exclude function in yum.conf:

exclude=*.i386 *.i686
share|improve this answer

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
share|improve this answer

-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.

http://www.yum-extender.org/blog/

share|improve this answer
    
I know about excludes, I just don't want to type them every time, neither do I want to create aliases. I just don't think installing i386 on 64-bit system by default is a good thing. –  Nikolai Prokoschenko Oct 22 '09 at 16:35
    
in that case you choose from gui that better options –  Rajat Oct 23 '09 at 3:07

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.