有没有办法在 macOS 上运行 Linux 二进制文件?

Sae*_*eid 29 binary

有没有办法在 macOS 中运行 Linux 二进制文件?我试图运行一个二进制文件,但它说它不可执行。

小智 25

我最近开始使用Noah在 macOS 中运行 Linux 二进制文件。您可以使用自制软件 ( brew install linux-noah/noah/noah)进行安装。那么你应该能够做到这一点:

noah linux_binary
Run Code Online (Sandbox Code Playgroud)

根据我的经验,二进制文件的行为与我在 Ubuntu 机器上看到的相匹配。

  • 过时的答案,它不再起作用了。`noah` 已从自制软件中删除,源代码已存档。 (4认同)

eyo*_*100 11

这些答案对了一半,因为虚拟化是一种选择,但还有另一种选择。我可以介绍...

历史

  1. 首先是UNIX,大约在 1972 年
  2. 然后时间线拆分
    • 1977 年,Bob Fabry 和其他人以 90 美元的价格编译/构建了 BSD 的第一个版本,即 Berkeley Systems Distribution 的缩写。
    • 1991 年,Linus Torvalds 在一个新闻组中发表了关于他使用的软件的信息,Richard Stallman 于 1983 年创立了 GNU,Linus 的 UNIX 诞生了。
    • 1984 年史蒂夫·乔布斯被苹果解雇后,苹果在 1996 年重新收购了 NeXT 软件,并使用该软件和那里的人来构建 OS X。OS X 是Darwin OS + NeXT 桌面环境。现在我们回到 Bullet #1,因为 Darwin 是 BSD 的闭源分支。对于开源项目,请参阅PureDarwin。有关 Apple 官方开发者页面,请参阅Apple Open Source

我们如何使用它

BSD 传统上使用 Ports 系统进行包管理。其中使用最广泛的是FreeBSD Ports。端口是直接从源安装的包。由于相同的 Linux 应用程序来自相同的来源,如果端口存在,您可以运行 Linux 应用程序。不要在 Mac 上使用这些端口,因为...


由于所有 Apple 的 GUI 都是使用Cocoa API - WikiEntry 编写的与 XCode - OS X for Developers 捆绑在一起,因此可以调整端口以利用这一点:

  1. 为您的 OS X 版本安装 XCode。
  2. 捆绑在 XCode 中的是 Apple 版本的 GCC 编译器,以及所有其他相关工具。要更新工具,请参阅StackOverflow 上的这篇文章。这些工具取决于操作系统版本,即它们不向后兼容,据我所知(简而言之,不要在 10.6 上安装 10.8 的 XCode,等等)
  3. 安装 XCode 后,您现在有了一个编译器,在安装 MacPorts .pkg 安装程序后,您可以前往MacPorts页面并浏览您需要安装的端口

警告

除非 port 写得很好,ports 系统不一定会进行依赖性检查。我稍微谈到了elibc_FreeBSD 在 gentoo portage 覆盖是什么意思的问题