运行 32 位 Linux 架构上的 64 位 shell 脚本

Running a 64-bit shell script on a 32-bit Linux architecture

我有一个 32 位 Linux OS,我想在上面 运行 一个 64 位 Shell 脚本。脚本的源提供者无法提供 32 位版本,并且文件非常大 (900 MB)。

鉴于脚本和系统的一些细节,答案也很笼统...

假设代码实际上是一个 shell 脚本。

顶级脚本可能是一个安装程序 - "self-exploding" ZIP/tar,二进制文件编码为文本。脚本本身只验证系统配置。从评论看好像是软件更新。

一个重要的问题是关于将要创建的二进制文件。如果它们是 64 位的,您将无法在 32 位环境中 运行 它们。如果您的系统是旧系统,您可能会落后于系统库。


如果(不太可能) 二进制文件构建为 运行 作为 32 位,并且只有安装程序本身需要 64 位,请考虑以下选项:

  • 运行 64 位环境中的安装程序,将安装定向到新文件夹(/opt/mysoftware-1.2 或类似文件夹),然后 copy/tar 所有已创建的树到 32 位系统,包括任何 environment/startup 脚本。运气好的话,它可能会奏效。

  • 或者,查看(安装程序)脚本,并尝试查看是否可以 'cheat'。可能是安装程序支持您可以覆盖的环境变量

  • 考虑将系统升级到 64,并安装旧的 32 位库,同时您仍然可以找到可用的 32 位库。对于工作经验,我们能够 运行 64 位 RedHat 6 的 32 个系统库(现已过时)。

    大多数发行版对 64 位系统上的 32 位多体系结构可执行文件和库的支持时间长于完全 32 位内核 + user-space。