RHEL5:禁止在 64 位系统上安装 i386 软件包?

RHEL5:禁止在 64 位系统上安装 i386 软件包?

每次我用 yum 安装某个程序时,如果 x86_64 和 i386 版本都可用,它都会尝试安装这两个版本的软件包。有什么方法可以禁止此操作而无需指定软件包的 arch?

答案1

添加multilib_policy=最佳你的/etc/yum.conf

Yum 现在将尝试为您的系统安装“最佳”的 package.arch,并且只会安装那一个(只要可用)。

假设您使用的是 64 位系统,yum 将首先尝试安装 package.x86_64,如果不存在,它将恢复为 i386 和 noarch。

默认设置为multilib_policy=全部,表示安装所有可能的拱门。

答案2

我一直在使用选项精确搜索=1/etc/yum.conf已经有一段时间了,它对我很有用。

它仍然允许您手动指定 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=最佳精确搜索=1似乎已经成为了一段时间的默认设置。

答案3

使用yum.conf中的排除功能:

exclude=*.i386 *.i686

答案4

-x, --exclude=package 根据名称或 glob 从所有存储库的更新中排除特定包。配置选项:排除

--disableexcludes=[all|main|repoid] 禁用配置文件中定义的排除项。有三个选项可供选择: all == 禁用所有排除项 main == 禁用 yum.conf 中 [main] 定义的排除项 repoid == 禁用针对该 repo 定义的排除项

您可以使用上面的 man,或者您可以安装 yumex,它提供 gui,您可以选择需要安装的 rpm。

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

相关内容