我可以在 Linux、*BSD 和 Illumos 上使用相同的二进制文件吗?

Mne*_*nth 3 linux bsd executable

我想知道,是否可以在三个系统上不加修改地使用程序的二进制文件?毕竟他们都是Unices。我谈论的是相同的架构。

Chr*_*own 5

不,您不能,因为ABI不同。一些 BSD 确实与 Linux 二进制文件具有二进制兼容性,但有一些警告(启用虚拟 8086 模式是一个常见问题)。但是,通常您可能需要修补源代码,因为许多二进制文件会根据源代码是为 Linux 开发的事实对其环境做出假设。据我所知,此时 Linux 内核中没有 BSD 二进制兼容性。

Andrey Sokolov 正致力于在没有区域的 Illumos上提供 Linux 二进制支持,但据我所知,目前计划在 Illumos 上没有 BSD 二进制兼容性。