Interix 和 Cygwin 之间的实际区别是什么?

ith*_*cat 14 windows unix cygwin posix interix

InterixCygwin似乎都在 Windows 中提供了类似 Unix 的用户环境。两者之间的实际区别是什么,例如:

  • 类Unix的“感觉”
  • 表现
  • 软件包可用性/易于编译从互联网下载的随机软件
  • 与 Windows 应用程序和工具集成
  • 与虚拟机的集成/兼容性(例如,Interix 和 Ubuntu 虚拟机是否可以共享相同的“主目录”)
  • 用户群规模/社区支持水平

我知道的一个区别是 Interix 需要 Windows 7 企业版或旗舰版;Cygwin 可以在任何东西上运行。

小智 7

我之前只在 Windows 2008 上使用过 Windows SFU,但我相信它是基于 Interix 的。我偶尔玩过 cygwin,但数量不多,所以如果我在这里说明显错误的话,请有人纠正我。

  • 类 Unix 的感觉: Interix 赢得了这一点。环境感觉更加“完整”。我不知道该怎么说。Interix 与 win32 子系统一起运行,而 cygwin 在它之上运行。因此,interix 是 Windows 内核领域的“一等公民”。像这样的东西ps并且df工作正常。
  • 性能:在没有进行任何主要性能测试的情况下,我Interix 也赢得了这一点。同样,它运行在较低的水平。您不只是运行带有 POSIX 兼容性 DLL 链接的 Win32 应用程序。
  • 软件包/随机软件: Cygwin 赢得这一奖项有两个原因。首先,cygwin 更为人所知。许多 Unixy 软件都会支持它的怪癖。您还可以从 GUI 安装程序中轻松安装东西。Interix 没有(我相信)内置了这样的东西。当然,你可以下载一些东西,使用 gcc 编译它(我认为你可以预先构建),并祈祷它可以工作,但这有点像将软件移植到任何其他随机的 Unix 变体(如 Solaris 或 AIX)——一些事情会奏效,其他事情会试图咬断你的腿并谋杀你的孩子。
  • 与 Windows 应用程序和工具的集成:老实说,两者都在这方面很糟糕。例如,如果您有一个在 cygwin 或 Interix 中运行的 Apache 服务器,那么可以肯定,它将能够通过 TCP 与 Win32 程序进行通信,但仅此而已。从interix内部,我相信你可以杀死Win32程序并使用ps列出它们,不确定你是否可以用cygwin做到这一点。有了这两者,您就可以使用 Windows 任务管理器来解决问题。
  • 与 VM 集成:解决您共享主目录的示例,然后是。您可以为此使用 samba,而且我相信 NFS 也可以在 Interix 上运行,以获得更多 unixy。但是,您不会找到任何漂亮的 GUI 或任何可以为您完成工作的东西。cygwin 和Interix 都允许您访问常规文件系统。
  • 用户群的规模:我想说的是 Cygwin 在这里获胜。很难找到经过测试和开发以在 Interix 上运行的东西,因为大多数开源东西似乎都支持 cygwin 作为编译平台。

如果您拥有支持 Interix 的 Windows 操作系统副本(如您所说,企业版、终极版或服务器版),那么试一试也无妨。这是一个非常完整的感觉环境。正如您所说,Cygwin 在所有方面都可以运行,并且更为人所知并且得到了更好的支持,但对我来说感觉有点像肮脏的黑客。但有些人经常使用它。