Answers:
将multilib_policy = best添加到您的/etc/yum.conf中
Yum现在将尝试为您的系统安装“ best” package.arch,并且只会安装该软件包(只要有)。
假设您使用的是64位系统,yum将首先尝试安装package.x86_64,如果不存在,它将退回到i386和noarch。
默认设置为multilib_policy = all,这意味着要安装所有可能的拱门。
我已经在/etc/yum.conf中使用选项extraarch = 1一段时间了,它为我工作了。
它仍然允许您手动指定arch,但如果不指定,则仅安装x86_64,而不同时安装两者。
根据el6手册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.
顺便说一句,现在一段时间以来,multilib_policy = best和确切arch = 1似乎都是默认设置。
在yum.conf中使用exclude函数:
exclude=*.i386 *.i686
exclude=*.i?86
(/etc/yum.conf)。这样,yum搜索甚至不会列出32位软件包。
-x,--exclude = package通过名称或glob从所有存储库的更新中排除特定的软件包。配置选项:排除
--disableexcludes = [all | main | repoid]禁用配置文件中定义的排除项。采用以下三个选项之一:全部==禁用所有排除main ==禁用yum.conf中[main]中定义的排除repoid ==禁用为此仓库定义的排除
可以从上面使用,也可以安装yumex,这样您可以选择需要安装的rpm。