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.
--disableexcludes=[all|main|repoid] 禁用配置文件中定义的排除项。采用以下三个选项之一: all == disable all excludes main == disable excludes defined in [main] in yum.conf reoid == disable excludes defined for that repo
上面的 man 你可以使用或者你可以安装 yumex,它给你 gui 你可以选择你需要安装的 rpm。
将multilib_policy=best添加到您的/etc/yum.conf
Yum 现在将尝试为您的系统安装“最好的”package.arch,它只会安装那个(只要它可用)。
假设您使用的是 64 位系统,yum 将首先尝试安装 package.x86_64,如果不存在,它将回退到 i386 和 noarch。
默认设置是multilib_policy=all,这意味着安装所有可能的拱门。
我一直在/etc/yum.conf中使用选项exactarch=1一段时间,它对我有用。
它仍然允许您手动指定 arch,但如果您不这样做,它只会安装 x86_64,而不是两者。
根据el6手册,yum.conf(5):
...
顺便说一句,现在multilib_policy=best和exactarch=1似乎都是默认的。
使用 yum.conf 中的排除功能:
如果您已经安装了 x86_64 版本,它将尝试安装 i386 版本。
请注意,如果您在 yum.conf 中使用 exclude,您可以排除仅在 i386 架构中可用的软件包
更安全的方法可能是在安装时明确请求拱门:
-x, --exclude=package 按名称或 glob 从所有存储库的更新中排除特定包。配置选项:排除
--disableexcludes=[all|main|repoid] 禁用配置文件中定义的排除项。采用以下三个选项之一: all == disable all excludes main == disable excludes defined in [main] in yum.conf reoid == disable excludes defined for that repo
上面的 man 你可以使用或者你可以安装 yumex,它给你 gui 你可以选择你需要安装的 rpm。
http://www.yum-extender.org/blog/
对我有用的是从机器中删除所有 ix86 软件包。现在它从不要求我安装任何 32 位的任何东西。
首先像这样设置你的 .rpmmacros:
然后运行它(我假设是 bash):
这将为您提供当前安装的非 x86_64 rpm 的列表。您可以使用以下方法删除所有这些:
现在你有了一个纯 64 位系统。
-戴夫
列表 i386
yum list installed | grep i386
现在您可以删除它或将其更新为 x86_64