Windows下的Linux环境-Cygwin
2014-03-12 09:43:25 阿炯

Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows NT系列上比较好,在Windows 9x上,相对差劲一些。目前Cygwin由Red Hat等负责维护,采用GPLv3协议授权。


Cygwin:Get that Linux feeling - on Windows

A large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows.

A DLL (cygwin1.dll) which provides substantial POSIX API functionality.


Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X Window System。

另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM codepages,Cygwin对其他字符集都不支持。

Red Hat规定,Cygwin库遵守GNU General Public License,但也可以跟符合开源定义的自由软件链接。Red Hat另有价格不菲的许可协议,这样使用Cygwin库的专属软件,就可以进行再发布。

2016年06月25日,Red Hat宣布,Cygwin 库的下一个版本将采用LGPL v3许可证。我们知道Cygwin库之前采用的是GPL许可证,采用更宽松的LGPL后将方便企业在其产品中使用Cygwin。Cygwin库是Cygwin项目 的核心,Cygwin项目目的是让Windows系统运行原生Linux程序,但在微软推出Linux兼容子系统后该项目看起来可能有点重叠了。

使用Cygwin,Linux程序需要重新编译,但使用Linux子系统Linux程序可以不用修改直接运行。

Cygwin库切换到LGPLv3许可证

2022年10月下旬消息,使用Cygwin,Linux程序需要重新编译,但使用Linux子系统Linux程序可以不用修改直接运行。Red Hat宣布Cygwin库的下一个版本将采用LGPL v3许可证。Cygwin库之前采用的是GPL许可证,采用更宽松的LGPL后将方便企业在其产品中使用Cygwin。Cygwin库是Cygwin项目 的核心,Cygwin项目的目的是让Windows系统运行原生Linux程序,但在微软推出Linux兼容子系统后该项目看起来可能有点重叠了。


最新版本:1.7
新版本增加了对 Windows 7 和 Windows Server 2008 R2的支持,以及其他方面的一些改进。

官方主页:http://www.cygwin.com/