在32位Linux体系结构上运行64位shell脚本

在32位Linux体系结构上运行64位shell脚本,linux,shell,x86,cpu-architecture,Linux,Shell,X86,Cpu Architecture,我有一个32位Linux操作系统,我想在上面运行64位Shell脚本。脚本的源提供程序无法提供32位版本,并且文件相当大(900 MB) 关于脚本和系统的一些细节,答案也非常笼统 假设代码实际上是一个shell脚本 顶层脚本可能是一个安装程序——“自爆炸式”ZIP/tar,abinaries编码为文本。脚本本身仅验证系统配置。从评论看像是软件更新 一个重要的问题是关于将要创建的二进制文件。如果它们是64位的,您将无法在32位环境中运行它们。如果您的系统是遗留系统,则可能在系统库方面落后 (强)

我有一个32位Linux操作系统,我想在上面运行64位Shell脚本。脚本的源提供程序无法提供32位版本,并且文件相当大(900 MB)

关于脚本和系统的一些细节,答案也非常笼统

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

顶层脚本可能是一个安装程序——“自爆炸式”ZIP/tar,abinaries编码为文本。脚本本身仅验证系统配置。从评论看像是软件更新

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


<>(强)如果(不可能),二进制文件被构建为32位运行,并且只有安装程序本身需要64位,考虑这些选项:

  • 在64位环境下运行安装程序,将安装定向到新文件夹(/opt/mysoftware-1.2或类似文件夹),然后将所有创建的树复制/tar到32位系统,包括任何环境/启动脚本。如果运气好的话,它可能会起作用

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

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

    大多数发行版对64位系统上32位多拱可执行文件和库的支持时间将超过完全32位内核+用户空间


    • 给出了脚本和系统的一些细节,答案也非常笼统

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

      顶层脚本可能是一个安装程序——“自爆炸式”ZIP/tar,abinaries编码为文本。脚本本身仅验证系统配置。从评论看像是软件更新

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


      <>(强)如果(不可能),二进制文件被构建为32位运行,并且只有安装程序本身需要64位,考虑这些选项:

      • 在64位环境下运行安装程序,将安装定向到新文件夹(/opt/mysoftware-1.2或类似文件夹),然后将所有创建的树复制/tar到32位系统,包括任何环境/启动脚本。如果运气好的话,它可能会起作用

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

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

        大多数发行版对64位系统上32位多拱可执行文件和库的支持时间将超过完全32位内核+用户空间


      shell脚本是一个文本文件。因此,没有32位或64位版本。或者脚本是否包含编码的二进制文件?在一个点之后,脚本仅包含编码字符。-切换到64位的时间已经到了。@Miracle。那么,为什么你认为32/64位的差异是有意义的呢?如果你坚持使用一个过时的内核,它不能运行64位用户空间进程(可能是因为你的硬件只有32位奔腾4?),那么你唯一能做的就是在VM中运行一个64位的安装(例如kvm),或者只模拟这个进程,例如使用qemu用户。这一点也不快;它不是以本机方式执行机器代码。shell脚本是一个文本文件。因此,没有32位或64位版本。或者脚本是否包含编码的二进制文件?在一个点之后,脚本仅包含编码字符。-切换到64位的时间已经到了。@Miracle。那么,为什么你认为32/64位的差异是有意义的呢?如果你坚持使用一个过时的内核,它不能运行64位用户空间进程(可能是因为你的硬件只有32位奔腾4?),那么你唯一能做的就是在VM中运行一个64位的安装(例如kvm),或者只模拟这个进程,例如使用qemu用户。这一点也不快;它不是以本机方式执行机器代码。32位的多拱库将比32位版本的发行版长很多。在64位系统上运行奇数32位二进制文件仍然是大多数发行版想要支持的,而且可能会持续很长一段时间。尤其是葡萄酒需要的图书馆;在可预见的将来,人们希望在WINE下运行32位Windows可执行文件,有时还有遗留的32位Linux二进制文件。您可能需要为一些不太常见的32位库构建自己的版本,但这不同于Arch等发行版已经放弃了对32位用户空间的支持。与免费发行版相比,可能值得将商业供应商(倾向于从其支持的版本中删除32位支持和库)分开(不太可能移除支架)根据Peter的评论。不确定OP指的是哪种设置。32位多拱库将比32位版本的发行版长很多。在64位系统上运行奇数32位二进制文件仍然是大多数发行版想要支持的,并且可能会支持很长一段时间。尤其是WINE需要的库;人们将拥有32位二进制文件在可预见的将来,他们希望在WINE下运行的Windows可执行文件,有时是遗留的32位Linux二进制文件。您可能需要为一些不太常见的32位库构建自己的版本,但是