Vista's Limited Symlinks
An anonymous reader writes, "Symlinks haven't really been added to Windows Vista. It seems that the calls to the Windows Vista symlink API only occur during the creation of such files or when accessing them from Windows Explorer. What this means is, you can't access symlinks from another OS. To be fair, you probably didn't expect to be able to dual-boot into XP and suddenly have access to the symlinks you created on the Vista partition earlier that day. But then again, you probably expected to be able to access these symlinks through a network share/UNC path or as files on a webserver. But you can't." From the article: "Clearly, Vista's symlink API isn't complete — hopefully this is something that can be patched via a hotfix and that we don't have to wait for Fiji to get something as simple as UNC support built in."
Vista's limited.
Theory is often inaccurate(TM)
"Those who do not understand UNIX are condemned to reinvent it, poorly." -Henry Spencer
PHP has encountered an Access Violation at 7C8224B2
Let's get real. If the OS was perfect nobody would buy the next version. I bet that 80% of purchases are made by people that secretly hope there's finally a version of Windows that just works.
:-)]
[and there's of course the not-invented-here syndrome - maybe symlinks are GPL-ed?
You can't squirt files across OS's yet.
No, what is being discussed here is links, e.g., creating an additional filename referencing an inode.
4 1355
http://win32.mvps.org/ntfs/lnw.html
http://en.wikipedia.org/wiki/NTFS_symbolic_link
http://answers.google.com/answers/threadview?id=3
NTFS does support links, but as usual from Microsoft, it's half-baked and only the bare minimum required for POSIX compliance was implemented. From sysinternals (now a Microsoft site) you can download a utility for manipulating NTFS links, or you can install the free Services for Unix (again, from Microsoft's web site) to get the M$ version of ln.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
Link, please.
... and then they built the supercollider.
A couple of days ago, the ranting of some MS manager about interoperability, here on slashdot. But when it's time to ship, having working symlinks (rocket science apparently) for basic interoperation purpose is not there. Same old Microsoft, expect same old frustrations with Vista.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
Windows 2000 promised administrators the ability to manage everything from the command-line. That turned out to be true mostly for a small list-of-old-DOS-utilities value of true. Additionally, we were offered junctions/mount-points which sortofkindof worked, but weren't fully supported. Sysinternals offered their 'junction' utility which worked a bit better, but again, not really. Now with Vista have SFU or SFU-as-subsystem that promises everything that Windows Scripting Host promised and more!
I expect that whatever hodge-podge of new features, one-off Resource Kit utilities or whatever else Microsoft decides to offer in their latest and greatest, I'll continue to rely on the folks at Cygwin to take advantage of whatever limited functionality exists in Windows, and then implement workarounds for the inconsistencies and shortcomings to make something useful and sane with it. In the meantime, I'll bet my right monad that a future Slashdot headline will read Vista's Borked NFS Client.
People are asking questions about VISTA Symlinking on MSDN. See this thread. The Vista symlink seems to have not much more functionality than "shortcuts" did in Windows 95 or Windows 98.
The issue at hand is why was the API left so incomplete that remote accessing a share that utilizes Vista Symlinking does not work? This is a large oversight on Microsofts part, and basically makes Symlinking useless. Fortunately, Symlinking works great via Samba. Another reason to stick with Linux..
Yahma
ProxyStorm - An Apache based anonymous proxy service for security minded people.
Vista introduced true UNIX-style symbolic links
The article is about how it doesn't.
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
I can't RTFA because of web error, but while I haven't tried Vista's idea of symlinks, I have used junctions, which were introduced in Win2000. To me, symlinks are one of the best features of Unix and on my Mac and Linux machines, I use them quite extensively. On Windows, while the junction API was available, no Microsoft-specific tools made use of them (that I could find), and resorted to a freeware program that implemented the junction api.
Whoa, big mistake. Junctions *do* work, but, and I think this is why Microsoft didn't promote or encourage their use, none of their other tools support them. In other words, doing a search of a drive that has junctions can lead to infinite recursion depending on how the junction is created. No Windows tools understand the "Don't follow symlinks" command that Unix tools have, and I had a few programs even crash whenever I tried to save to a junctioned-folder (Visual Studio was guaranteed to crash on me).
"A witty saying proves nothing." - Voltaire.
It's official. Most of you are morons.
... that /. can find about Vista then Microsoft have won.
--I thought I was wrong once, but I was mistaken.
Try this and a ext3 file system. I have all my Documents and the whole user directory on an ext3 and it works great. I can also access it from Linux if I want...
Only on Slashdot can a first post be redundant...
There are plenty of other OS's they could base thier OS off, maybe even VMS.
Unix is far from perfect, I want choice but when Linux fanboys here choice they think it must be a choice which distribution you use, because Linux is the only choice.
Back to the line about VMS, because NT was built by a bunch of ex-DEC guys, the NT Kernel isn't that bad.
I mean, they could always port GNU userland over to the NT kernel, but dont MS already do that (or something similar) in their UNIX resource thing, which you can download.
There are two types of people in the world: 1) those that can extrapolate from incomplete data.
Link, or do not link. There is no 'try.'
Domestic spying is now "Benign Information Gathering"
Symbolic links can also become outdated if the target moves. It's hard links that can't.
I don't think its right to just attack Windows Vista because of a few problems. I mean it is not perfect and will not behave exactly the same as Linux, and this is Slashdot, but Microsoft, as a commercial entity, has done a good job providing a quality OS for computer users. Microsoft, no matter how much you may think they've "lied, cheated, and stealed" their way to the top, only has the profitability and money they have due to consumers. And they do make legitimate attempts at patching their OS and working towards improving it. I've also had about 6 Coors Lights tonight since its the weekend.
At first blush you would think so, but the semantics of a windows NTFS symlink is more like a mount point.
Firstly, you can't use normal "commands" to create/delete NTFS symlinks. The collection of system calls to create a symlink are badly documented and incomplete.
The big differences are (from memory):
So while there is a similar function called a "reparse point" it is more like "mount" that it is like a a true UNIX symlink.
Also, most of the Windows tools just don't deal with link (hardlinks or symlinks). If you do a hardlink from one file to another and check to see disk usage of a directory, the file is counted twice. Most unix tools (du etc) will not count hardlinked files twice and symlinks are counted as the disk space the symlink uses not the file it points to.
Symlinks are a very powerful tool and are very mature in the *nix world. Windows is just simply way behind on this one.
Rubbish - a corporation with large financial and technical resources such as Microsoft doesn't half-implement a simple OS concept like symlinks because they are simply unable to do it properly.
It's their OS, they know all the dirty little secrets of their code and they can make it happen if they want to. Rather, I suspect it doesn't suit them to have a completed api at present.. in fact I'll even hazard a guess that (unsurprisingly) their motivations in this matter will be less to do with product quality or customer satisfaction and more about whatever FUD campaign is currently coming up to the boil in Redmond.
..Mullah or Pope, Preacher or Poet, who was it wrote: "Give any one species too much rope and they'll fuck it up"?
Why this obsession with UNIX?
I think that was more an example of something they could have done - basically a good choice, even though there are others.
The main problem I see with Microsoft is the incredible degree to which they duplicate something that already exists:
* Operating system, as noted they could base this on UNIX or something else and saved a lot of effort.
* Filesystem - why does the world need NTFS? There are other really good file systems around. If it offered features like ZFS I could see it but about the only FS I'd like to use less than NTFS is FAT, and that's actually a better choice for small devices because it's simpler!
* Display format - PDF ain't good enough for Microsoft, hell no, we need a brand new document/display language. Metro!
* Porgramming langauges. We can't extend Java just the way we like without community review? Screw you all, we're building a new ball from scratch and running home!
* I think we need an XML based document format. It's not like one already exists or anything, let's create one from scratch!
Think of how far the industry as a whole would be along if Microsoft actually contributed to any of those fields instead of devoting huge numbers of resources to creating anew. Microsoft single handedly has set the computer field back probably a decade or more.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
There were very many good ideas about NT. Microsoft either actually were planning to deliver these features, but somehow didn't manage, or they deliberately misled people so that these people would wait for NT, instead of buying a competing OS. Similarly with Vista: they promised many great features, but almost all of the features I've seen people raving about have been dropped in the meantime.
Please correct me if I got my facts wrong.
Compare Mac OS X. It has two different kinds of symlinks. It has the traditional, pure-quill, UNIX symlinks which work exactly as UNIX users expect.
It also has Mac OS "aliases," introduced IIRC in System 7, which most Mac devotees think are superior to UNIX symlinks.
Now, before I get too far into praising "aliases," let me acknowledge that the presence of both mechanisms in Mac OS X is a big, hairy, ugly, mess, and one of innumerable places where the Mac world currently suffers from having anywhere up to half a dozen or so APIs for the same basic functionality. Mac OS X now resembles, well, my house, with fifteen-year-old half-abandoned dusty possessions still lurking in the attic. Not that Windows is any better, of course.
But I digress. You may like Mac OS aliases or you may dislike them, but you can see they they are a complete, well-thought-out, finished, working mechanism that it is at least possible to admire as something more than a half-baked knockoff of symlinks.
I happen to like them, a lot, because they just work. You don't need to do anything special at a programming level to dereference them, and it doesn't matter what programming language you're using or whether you're accessing them across the network, or whatever. However you do it, when you open the alias, you open the file it points to. And they are not fragile: you can move them or rename them or whatever and they still point to the right place. (The tough part is not dereferencing them... and Apple's deliberate failure to document or provide an API for creating them programmatically).
What I find hard to forgive Microsoft is that when Microsoft implements their knockoff of a well-known OS feature, it is rare that they come up with anything fresh and original. So many of their derivatives seem to be hasty knockoffs implemented by people who didn't "get" the original. And they put these half-baked implementations into shipping products, making it very difficult for Microsoft ever to finish them or fix them.
You can see this in a dozen places, like the Windows NT command language, which is a half-baked extension of the miserable quarter-baked DOS command language. Jeez, guys, you had DCL and the various UNIX shells as models, couldn't you do better than that?
And five years later, there tends to be conflicting documentation: the documentation written when badly-designed feature X was introduced, telling all good little Microsoft developers that they simply must, must, must use feature X in everything, and the documentation written a few years later warning everyone against the bad practice of using crufty old deprecated feature X...
I just wish I could shake Microsoft by the scruff of the neck and say, "Listen, if you can't improve it, then at least make a faithful copy of it."
Don't just pee in it to give it that personal flavor.
"How to Do Nothing," kids activities, back in print!
Is OS X like the dozens of other *nix systems? Well, "Yes" and "No". It has all the core features but has enough of its own. It combines the stability, networking and security of Unix + the Apple GUI. Last time I checked, it is doing pretty well even among the other dozen or so "similar" operating systems. The point was that Microsoft could have been the Microsoft (support lots of software and hardware) and the Apple (have a stable, no-nonsense core operating system) -- it could have had the best of both worlds, in my hypothetical parallel universe.
I remember when Microsoft announced that they were moving graphics back to ring 0 with NT 4.0. The rationale was that they would get much improved performance, which is a perfectly fair conclusion. But when asked about the liability created by this, they basically said, 'Well, if your graphics driver is hosed, you can't use the system anyway, so you'd just as well reboot.'
That wasn't the last straw for me, but it demonstrated with perfect clarity that this was not the OS I wanted on my servers. Here was Microsoft telling me with a straight face that they had no plans to ever provide any decent remote control of the server, that multi-user scenarios were off the table for the foreseeable future, and that system performance was going to be compromised in order to draw windows more quickly, rather than optimised over time in userland.
It was clearly a fundamental technical design decision made by the marketing department, who apparently would be happy to put tits on a bull if it increased market share in the hermaphroditic bestiality demographic.
Within two years of that, I was working exclusively with FOSS on my servers, and have never looked back.
There's a lot of mindless partisanship on Slashdot, but I think it's useful to remember from time to time that many posters here have learned to dislike Microsoft the hard way: through bitter experience of watching marketing continually triumph over technology.
Crumb's Corollary: Never bring a knife to a bun fight.