为什么 i386 版本的软件要安装在 x86_64 系统上?

为什么 i386 版本的软件要安装在 x86_64 系统上?

为什么大多数软件的 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)的某些依赖性。

相关内容