Cygwin
From Wikipedia, the free encyclopedia
Currently maintained by employees of Red Hat, Netapp and others. It is important to note along with the binaries.)
A large amount of effort has gone into providing interfaces to map between concepts that differ between Unix and Windows. Examples include:
- A Cygwin-specific version of Unix mount has been created, which allows arbitrary Windows paths to be mounted as "filesystems" into the Unix file space. Mount information is normally stored in the registry. Filesystems can be mounted as binary (the default) or as text, which performs automatic conversion between LF and CRLF endings. (This only affects programs that call open() or fopen() without specifying text or binary mode. All of the ported Unix programs available through Cygwin setup open files in binary mode if appropriate, and hence data corruption will not occur.) All DOS drives (C:, D:, etc.) are also available under /cygdrive/c, /cygdrive/d, etc. Windows network paths of the form \\HOST\SHARE\FILE are mapped to //HOST/SHARE/FILE.
- Full-featured /dev and /proc file systems are provided automatically. /proc/registry provides direct filesystem access to the registry.
- Symbolic links are provided, and use .LNK files (Windows shortcuts), with some special Cygwin-specific info in them and the "system" attribute set to speed up processing.
- The Solaris API for handling access control lists (ACLs) is supported and maps to the Windows NT ACL system.
- Special formats of /etc/passwd and /etc/group are provided that include pointers to the Windows equivalent SID's (in the GECOS field), allowing for mapping between Unix and Windows users and groups.
- Various utilities are provided for converting between Windows and Unix file formats, for handling line ending (CRLF/LF) issues, for displaying the DLL's that an executable is linked with, etc.
[edit] History
Cygwin began in 1995 as a project of Steve Chamberlain, a Cygnus engineer who observed that Windows NT and 95 used COFF as their object file format, and that GNU already included support for x86 and COFF, and the C library newlib; so at a three-way cross-compile, for instance to use a hefty Sun workstation to build, say, a Windows-x-MIPS cross-compiler, which was faster than using the PC of the time. Starting around 1998, Cygnus also began offering the Cygwin package as a product of interest in its own right.
[edit] See also
- Cygwin/X is a free X11 implementation running on top of Cygwin.
- MinGW is a free port of the GNU development tools to Windows.
- DJGPP is a similar suite for DOS/Windows.
- Services for UNIX is a Microsoft product with similar capabilities to Cygwin; it has the advantage of speed, although it is not available for Windows XP Home, or older non NT-based versions of Windows.
- The UWIN package allows UNIX applications to be built and run on Windows XP/2000/NT/ME/98/95.
- coLinux is a Cooperative Virtual Machine that runs Linux in Windows.
- KDE on Cygwin
- MKS Toolkit
- WINE allows Windows programs to run on UNIX-like systems.
- UnxUtils, a collection of ports of common GNU UNIX-like utilities to native Win32.
[edit] External links
- Cygwin Home
- Cygwin FAQ
- Cygwin Package Listings
- Cygwin page on Freshmeat.net
- CYGNOME = cygwin + GNOME
- KDE-cygwin = cygwin + KDE
- unxutils and GnuWin32 - two similar projects, porting Unix utilities to Windows but without the emulation layer.
- PuttyCYG PuttyCYG combines PuTTY and Cygwin creating a local terminal for your Cygwin consoles. A great way to replace a DOS CMD prompt.
- Redhat's homepage on Cygwin
- UTF-8 patch for Cygwin