每次我用 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。