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


13

每次我用yum进行安装时,如果都可用,它将尝试同时安装x86_64和i386版本的软件包。有什么方法可以禁止不指定包的拱门吗?

Answers:


16

multilib_policy = best添加到您的/etc/yum.conf中

Yum现在将尝试为您的系统安装“ best” package.arch,并且只会安装该软件包(只要有)。

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

默认设置为multilib_policy = all,这意味着要安装所有可能的拱门。


1
+1是,这是最好的答案。不幸的是,大多数人现在不选择此选项。
knweiss

3

我已经在/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似乎都是默认设置。


2

在yum.conf中使用exclude函数:

exclude=*.i386 *.i686

exclude=*.i?86(/etc/yum.conf)。这样,yum搜索甚至不会列出32位软件包。
basic6 2015年

1

如果您已经安装了x86_64版本,它将尝试安装i386版本。

请注意,如果在yum.conf中使用exclude,则可以排除仅在i386 arch中可用的软件包

一种更安全的方法是在安装时显式请求arch

yum install package.x86_64

0

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

--disableexcludes = [all | main | repoid]禁用配置文件中定义的排除项。采用以下三个选项之一:全部==禁用所有排除main ==禁用yum.conf中[main]中定义的排除repoid ==禁用为此仓库定义的排除

可以从上面使用,也可以安装yumex,这样您可以选择需要安装的rpm。

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


我知道排除项,我只是不想每次都键入它们,也不想创建别名。我只是不认为默认情况下在64位系统上安装i386是件好事。
Nikolai Prokoschenko,2009年

在这种情况下,您可以从GUI中选择更好的选项
拉贾特(Rajat)2009年

0

对我有用的是从计算机上删除所有ix86软件包。现在它再也不需要我安装任何32位的东西了。

首先像这样设置您的.rpmmacros:

cat ~/.rpmmacros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

然后运行这个(我假设是bash):

rpm -qa | egrep "i.86$"

这将为您提供当前安装的非x86_64 rpm的列表。您可以使用以下方法删除所有它们:

rpm -e $(rpm -qa | egrep "i.x86$")

现在您有了一个纯64位系统。

-戴夫


-3

列出i386

yum list installed | grep i386

现在您可以将其删除或更新为x86_64


1
这不能回答问题。
斯文

尽管这可能对修复这种情况有用,但这并不是对如何防止它们首先安装的问题的答案……
HBruijn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.