RHEL5 64 位相当于 ia32-libs?

RHEL5 64 位相当于 ia32-libs?

因此,我们有一个 Java webapp,从 32 位 RHEL4 系统迁移到 64 位 RHEL5 系统。我们从 32 位 RHEL 迁移到 64 位 Ubuntu 也做了同样的事情,但需要 ia32-libs 才能运行 Java。

RHEL5 是否有与 ia32-libs 相当的版本?我听说过 rhel 中有一个叫做 multilib 的东西?

答案1

Multilib 的理念是让系统中的所有内容同时支持 64 位和 32 位。要支持 64 位,进程必须仅使用 64 位库。如果一个或多个所需库在 64 位下不可用,则应用程序将以 32 位模式运行。这些库被分成两个单独的 /lib 目录:一个用于 64 位,一个用于 32 位。

理想情况下,您运行大多数 64 位程序。事实上,如果您知道要运行的所有程序都是 64 位的,某些发行版(我的经验是 Gentoo)允许您禁用多库并减少安装大小。

Red Hat 没有与 ia32-libs 相当的版本。您需要使用 yum 安装所需的任何软件的 32 位版本:

yum install <package>.i586

您可以使用ldd来确定库依赖关系,然后使用yum provides来寻找适当的包。

最后,请确保您使用的是 64 位 JRE。我通常不使用非 Oracle JRE 或 JDK,因此我不确定如何处理 OpenJDK/IBM/etc. 软件包,但对于 Oracle,选择要下载的正确版本很简单。

相关内容