当前位置:  开发笔记 > 运维 > 正文

在Mac OS X下模拟Linux二进制文件

如何解决《在MacOSX下模拟Linux二进制文件》经验,为你挑选了3个好方法。

如何在Mac OS X下运行Linux二进制文件?

谷歌搜索我发现了几个模拟器,但没有在Mac上运行Linux二进制文件.有很多关于在Linux上运行Mac OS X的帖子和那种东西 - 但这与我想做的相反.

更新:

感谢所有的答案!我完全了解MacPorts和Fink或任何其他事情; 不,我不想要任何这些实用程序,我不想要任何包管理器,我更喜欢自己编译.我也有Parallels,可以设置虚拟机和所有爵士乐......

我唯一想做的就是找到一种方法来运行我没有源代码的二进制文件,并且已经为Linux编译了,但我不想在Linux下运行它,但在Mac OS X下运行它.所以我的关于模拟器的问题.



1> Maxthon Chan..:

那么有一个项目将类似Linux的binfmt_misc引入OS X,所以现在你需要的是一个ELF加载器,一个可以加载Mach-O和ELF的动态链接器,以及一些将Linux调用转换为OS X的机制.

只是为了灵感,您可以以忽略文件扩展名的方式实现动态链接器 - 可以加载libfoo.so.1(作为Linux ELF)和libfoo.1.dylib(作为Mach-O)以便操作系统X版本的系统库可以重复使用,因此您不需要编写"托管在OS X上"libc.so和syscalls可以通过kext处理,该kext将Linux调用转换为内核中的OS X调用.

或者,以更优雅的方式,将精简的Linux内核实现为kext,使OS X内核成为双重用途.但是,这将要求您使用两组库.(二进制文件没有冲突所以它基本上没问题)



2> mipadi..:

设置虚拟机(我个人使用VMWare Fusion),然后在虚拟机上安装所需的Linux发行版.

或者,如果您拥有Linux程序的源代码,那么您可以在Mac上重新编译它并以原生方式运行它.如果您安装Fink或MacPorts,您可以安装很多开源程序而不会有太多麻烦.



3> snd..:

我最近发现了Noah,您可以使用它在macOS上运行Linux二进制文件。您可以通过自制软件(brew install linux-noah/noah/noah)安装Noah 。然后,您应该可以执行以下操作:

noah linux_binary

以我的经验,二进制文件的行为与我在Ubuntu计算机上看到的行为相匹配。

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有