[wellylug] CVS woe
Daniel Pittman
daniel at rimspace.net
Sat Apr 4 19:45:44 NZDT 2009
Cliff Pratt <enkidu at cliffp.com> writes:
> Daniel Pittman wrote:
>
>> Ah, Cygwin, which is the single most god-awful POSIX environment
>> ever, bypassing even the "Unix in FORTRAN" stuff that was popular
>> decades ago.
>>
>> You might find your life radically improved by using the "Services
>> For Unix" enhanced POSIX layer for Windows, which doesn't suck nearly
>> as much.
>>
>> That, at least, would eliminate the Cygwin based stupidities from the
>> system for you.
>
> SFU - the acronym says it all. I still have the nightmares. The "POSIX
> layer" AKA "Interix" was/is truly horrible.
Compared to Cygwin, or just in general? The NFS and NIS integration was
a bit pants, really, but the basics were good.
> Cygwin's environment doesn't pretend to be POSIX compliant so far as I
> am aware, does it?
I really don't know how to respond to that. Um, yes?
I suppose you could disregard the marketing fluff they have left for
Google to find in the results at http://www.google.com.au/search?q=cygwin
Cygwin Information and Installation
Linux-like environment for Windows making it possible to port
software running on POSIX systems (such as Linux, BSD, and Unix
systems) to Windows.
in favour of their "Linux-like" claims on the front page.
At that point, though, you would be arguing that a "POSIX and stuff"
goal is not the same as POSIX.
> It's hard to choose between the two, really. SFU (I'm not sure if it
> was the Interix component) used to regularly hose the Windows file
> permissions.
SFU is Interix, and Interix is SFU. That might explain the difference
in our experiences, though:
Interix delivers a genuine POSIX implementation on top of the NT kernel,
running next to the Win32 layer. That includes POSIX semantics in the
files system.
You could use it to confuse Win32 software by having case-sensitive
filenames ("Foo" vs "foo", in the same directory) or through having
different permission inheritance rules (POSIX rather than NT ACL
inheritance).
However...
> Cygwin didn't do that, but it was a nasty hack that I wouldn't have on
> a production system.
... Cygwin wouldn't, because it pretended to be POSIX, but was really
Win32, along with all the Win32 semantics: NT ACL inheritance[1], case
insensitive but case preserving filenames, crazy pathname rules, and so
forth.
Putting it on a production system, especially running in a privileged
role, was absolutely crazy: the hack of a shared memory segment accessed
from every Cygwin process, including those that cross account
boundaries... *shudder*
Interix could cause some oddities if you expected it to be just like
Win32 with Unix applications, not like POSIX, but it was a solid,
standard and compliant POSIX layer.
They rolled it into core in Vista and beyond, by the way, so you no
longer get a choice — you have Interix or, um, Interix now. :)
Unless you buy the lesser versions, apparently, because Microsoft still
hate system administrators ^W^W POSIX with a passion. Bastards.
Regards,
Daniel
Footnotes:
[1] Arguably this would be a positive, since the POSIX ACL drafts were
a bit pants, too, but hey — NFSv4 fixed /that/ one right up for us,
giving us *both* flavours on POSIX now. Yay, I guess. :/
More information about the wellylug
mailing list