Cygwin: Making Windows Livable Since the 20th Century.
All the free GNU tools work just fine on win32 systems thanks to Cygnus Solutions (taken over by Red Hat in 2000?). Windows can be used as just another *NIX now. Cygwin is broken up into many different packages, so you can pick and choose what software you need - kind of like a Linux package system, but not as sophisticated.
See:
sources.redhat.com for details
sources.redhat.com for immediate install
www.doc.ic.ac.uk -- A Cygwin TWiki <- broken
Praise:
I second the recommendation. I love it.
Cyg Win is what keeps me sane when I have to deal with Windows boxen. Nothing compares. It's great that it's GPL-licensed :-) On another note, the Cyg Win of today is much better than the one talked about [on this page in the past]. Highly recommended.
I can't sit down at a Windows box without a Cyg Win installation, and highly recommend it to all Windows developers hankering for some Command Line power. I must also note that the current Cyg Win installs and configures itself painlessly, so anyone who tried it before Y2k and was put off by having to fiddle with the configuration should definitely take another look. -- Anthony Bowyer Lowe
I have used Cyg Win on Win98SE, WinXP, and Win2k. I find it highly useful, though I [ran into the terminal problem below] -- Daniel Knapp
Problems/Solutions:
Problem:
The default terminal (DOS Console) sucks.
Solution:
Better Cygwin Terminal
Problem:
I'm still working on getting things setup for ease of use, which the documentation is somewhat lacking in. For example, use the 'mount' command to map c:\cygnus\yadayada\bin to /bin
Solution:
One option is to use a symlink: ln -s /cygdrive/c/foo /foo
Solution:
Is this still an issue? I think later versions of Cygwin are set up like this by default, if I understand the problem.
Problem:
fork() doesn't have copy-on-write semantics, since Windows provides no way to implement them. This is worse than it sounds, because it means that anything which generates a large number of small processes will take ages. It particularly afflicts recursive makes and autoconf-generated configure scripts. -- Daniel Knapp
Solution:
Learn to be patient while slow stuff runs.
Problem:
Downloading a complete unix environment over a 56k line is a drag. Is there a CD one can order, or a CD Image one can download with a broadband connection on another machine?
Solution(?):
When you install Cygwin, it leaves a directory of everything it downloaded in its wake. Maybe you could CD'ify and somehow reuse that?
Problem:
cygwin is case sensitive, while the underlying filesystem is not.
Partial solution for Bash command line:
Add the line "set completion-ignore-case On" to ~/.inputrc. (Create the file if necessary.)
Tragic Irony:
To score contracts written under the influence of some brainless "POSIX required" verbiage, Micro Soft added a subsystem to Win Nt called "POSIX" which did nothing. So we had to wait for an Open Source free-ware solution for Win Nt to really do Un*x-style things!
An alternative is to work exclusively on Unix and cross-compile for Windows, targeting either Cyg Win, if you want to program Windows as if it was UNIX, or Minimalist Gnu For Windows (MinGW), which links against Microsoft's C runtime libraries.
Q Posted in late 2004.
Is there a good Uninstal for this software?
Does it interfere with other working Windows software?
With Cygwin running, what is a good recommendation for a simple Wiki-like thing I can get up and running, without any Unix Cultural Assumption?
Has Cyg Win got problems on Windows Xp with Dot Net framework runtime 1.1 installed?
How do I avoid "Program too big to fit in memory" message when trying to run a program under Cygwin? I do not have the program's source-code, but I would expect it to need quite a bit of memory. Answer Me
A
The Uninstall is simple, just delete the folder (usually c:\cygwin).
It only interferes if it's in the path before Windows program directories and you install packages with names that shadow Windows programs.
If you want software free of Unix Cultural Assumption's, then you don't want Cygwin.
There are no known problems with Dot Net framework runtime 1.1 installed.
Security aspects
Does use of this environment (and other packages requiring this environment) compromise my security provisions (e.g. firewall) configured to run under Windows Xp?
Can't imagine how it could change your firewall security. It doesn't unless a program is doing something deliberate and malicious. Cygwin is a set of DLL's that provide a degree of POSIX emulation, so everything running under Cygwin is actually a Windows program.
Any comments regarding "Apache Cygwin Directory Traversal Vulnerability" listed at www.securityfocus.com ? I am concerned about Cyg Win being used as a backdoor as I expect the likes of Zone Alarm would not know about activities in that area.
Answer: As you may have noted reading this site, Cygwin was one of the few platforms NOT affected by this Apache bug. Besides this, how should Cygwin be used as a backdoor? Unless you install an OpenSSH server, Apache webserver, FTP server, any other included server without protection. In any case you must actively install those programs and configure them to your needs. BTW, Zone Alarm is able to detect ANY network activity, it doesn't matter on which libraries a program is based. Internally Cygwin uses all kinds of Windows libraries to access the filesystem, the network, ..., like any other Windows program does. Cygwin is just one more DLL.
-- Gerrit Haase - 2005.10.26
See original on c2.com