如何在64位CentOS上安装32位软件包

我们有很多32位的CentOS 6服务器,在我们自己的RPM软件仓库中为i386和i686架构构build了自定义rpms。

我们现在有一些64位的CentOS 6服务器,但是希望能够从32位软件仓库安装32位软件包。

我知道Debian支持“multiarch”,允许安装32位库和包。 什么是CentOS相当于?

所有主要的回购解决scheme的方式是实际上将相关的32位软件包复制到64位存储库。 你可以仔细检查任何这样的回购(CentOS,Fedora等)。

因此,在将所有32位软件包复制到64位repo并重新运行createrepo --update ...您应该可以安装它们。 既然这样可以使用很多空间,我build议把它们连起来而不是复制它们。

CentOS资源库软件包列表

在yum.conf中你会看到这样的一行:

multilib_policy=best

将其更改为:

multilib_policy=all

这将允许yum安装32位软件包,而无需专门指定* .i686。

CentOS有multilib支持。 如果你的软件是32位,并且是rpm,你可以尝试yum安装它。 RPM是否正确构build,你有权访问CentOS yum仓库,它应该能够满足任何32位的依赖关系(如果在回购中可用)

如果你search你的64位CentOS仓库,你会发现很多32位软件包。 CentOS Wiki摘录:

 x86_64 installation by default will install iX86 32-bit packages on a 64-bit installation for compatibility purposes.