为什么大多数软件的 i386 版本与 x86_64 版本一起安装在 CentOS 64 位系统上?
# yum install php-xml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Package php-xml-5.3.12-5.el5.art.x86_64 already installed and latest version
Package php-xml-5.3.12-5.el5.art.i386 already installed and latest version
Nothing to do
答案1
CentOS 有一个回答他们的常见问题关于它的页面,它是为了与 32 位的东西兼容。
为了解决这个问题,他们的答案是添加exclude = *.i?86
到你的 yum.conf 中。但是,如果您安装了 i386 rpm,更新将会中断,因此请确保在执行此操作之前将其删除。
我更喜欢设置multilib_policy=best
,因此在奇怪的情况下,您确实需要 32 位的东西,它将被安装,但默认情况下不会安装。
multilib_policy - 可以设置为“全部”或“最佳”。 All 意味着为您想要安装的任何软件包安装所有可能的架构。因此 yum install foo 将在 x86_64 上安装 foo.i386 和 foo.x86_64(如果可用)。最佳意味着仅为此平台安装最佳拱门。
答案2
是为了兼容性。在 64 位系统上运行 32 位软件需要这些软件包。
答案3
如果您不希望出现这种行为,package.x86_64
则必须安装。大多数 i386 软件包都在那里,因为它们必须满足仍然是 32 位的程序(例如 firefox)的某些依赖性。