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

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

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

答案1

几年后更新:Noah 存储库现已存档。我还没有找到好的替代方案。


我最近开始使用诺亚在 macOS 中运行 Linux 二进制文件。您可以使用 homebrew ( brew install linux-noah/noah/noah) 安装。然后您应该能够执行以下操作:

noah linux_binary

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

答案2

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

历史

  1. 首先有UNIX,大约 1972 年
  2. 然后时间线分裂
    • 1977 年,花费 90 美元,鲍勃·法布里等人,编译/构建了 BSD 的第一个版本,BSD 是 Berkeley Systems Distribution 的缩写。
    • 1991年,Linus Torvalds 在新闻组中发布,关于他使用的来自 Richard Stallman 的软件,Richard Stallman 于 1983 年创建了 GNU,Linus 的 UNIX 就此诞生。
    • 1984 年史蒂夫·乔布斯 (Steve Jobs) 被苹果公司解雇后,苹果公司于 1996 年重新收购了 NeXT Software,并利用该软件和那里的人员构建了 OS X。OS X 是达尔文操作系统+ NeXT 桌面环境。现在我们回到第 1 点,因为 Darwin 是 BSD 的一个闭源分支。对于开源项目,请参阅纯达尔文。有关官方 Apple 开发者页面,请参阅苹果开源

我们如何使用它

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


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

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

警告

端口系统不一定会进行依赖性检查,除非端口编写得很好。我轻轻地触及了这个问题elibc_FreeBSD 在 gentoo portage 覆盖层中意味着什么?

答案3

我知道这可以通过某种方式来完成虚拟化。例如,您可以使用流浪汉它是 Oracle 的 VBox 或 VMware 的 vmplayer 的某种包装。有时要做的另一件事是将其放入容器中,例如泊坞窗

答案4

硬件仿真

不直接!是的,正如 rocky 所说,你必须将其虚拟化虚拟盒子,虚拟机融合,这将与您的 CPU 类型匹配。

还有盖姆,它将虚拟化不同的 CPU 类型,即 Intel 或 Power 等。

软件仿真

还有软件层模拟,例如葡萄酒,以及我自己的模拟器程序(WiP)这两个程序都通过将系统调用转换为 POSIX 来部分模拟 Windows 操作系统。

大多数 Linux 应用程序将通过源代码重新编译在 OSX 上运行。

相关内容