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."
Time to call in the code inspectors.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
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.
22 bloody years...
<nelson>haha!</nelson>
fucktard is a tenderhearted description
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"
There's plenty of other worse things about Vista; this is just an amusing side note.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
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"?
Kaetemi
I remember back from the beginning of 90's, around the time when Windows NT 3.11 came to markets, that vision behind NT was that it would be as modular as possible and allow swapping of lots of components beginning from the kernel to file-system. This was actually reported in lots of computer news papers, but it seems from now that it was just hype and hopeful wishes. Now it seems that the code base of NT and it's successors is so mingled that trying to swap components from it would make the system die in a split second.
Survey research tool for commercial and scientific use
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
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.
You are referring to POSIX I presume. Well, have you seen any native Unix code running on Windows lately? I didn't! Windows POSIX compliance is a joke, it was more of a marketing ploy to tell their client ("we even run Unix!") but in reality it is very broken. That is why you have Cygwin...
If you rm a one link to an inode, (or close a file descriptor), it reduces the inodes usage count by one. When the count reaches zero, the blocks referenced by the inode are marked free. The behaviour you describe would be utterly horrendous.
It also sounds like a puppy granting wishes but that isn't what the article is about.
That so called "shortcut" feature that has been around since Windows 3.1 isn't a 'link' as it works on POSIX complaint systems. It is a shortcut that gives the user - not the computer - a quick way to access a directory. It cannot handle I/O functions.
if you steal from one source, that is plagiarism, if you steal from many, well, that's just research.
POSIX isn't supposed to be closer to the metal than the native OS api. It's supposed to be a standard, non os-specific way to access files.
It's the job of the OS makers to provide a POSIX implementation that works on top on the native api. You'll find that developers writing cross-platform apps are not fond of having to conditionally use platform specific code, especially in situations like file io that has been standardized for ages.
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.
Theory is his dog, and it often pisses on his shoe and humps the fireplug down the street. Theory is old.
Infuriate left and right
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.
Having worked for fortune 500 companies, I would say that you are giving them more credit for wisdom than is usually the case.
The environments I have see they usually:
1) Have a host of managers who have a poor grasp of what they are managing
2) Tend to go with the lowest bidder when contracting out for services, e.g. outsourcing programming and IT teams. This means monkeys usually end up doing thier software development and IT work.
3) Are run on an industrial paradigm, even in service industries. A 'let's ship tons of crap to make money' while ignoring the quality of the crap.
4) Managers make decisions based more on ego than business cases.
5) Treat people as commodities, leading once again to the hiring of monkeys to get critical tasks done.
6) Anything flash, regardless of utility takes precedence over the less sexy but often import details. E.g., nice new eye candy for Vista but a half-assed file system.
I have also worked in SME environments. I have observed that the larger the company, the dumber it gets. Larger compaies have plenty of places where dead wood can accumulate, can lose money at a rate that would sink an SME it short order and attract politcal people who know how to shift blame.
I have helped my current employer, an SME, grow to the point where it is getting too big for me. I am seeing the dysfunnctional aspects begining to develop. It is time for me to move on.
But all-in-all just because the company is big does not mean it possess an special wisdom. Esp. a monopoly which does not have to compete.
putting the 'B' in LGBTQ+
Please tell us how you cd to a shortcut, then we can all agree with you.
.desktop file, not to a filesystem symbolic link.
A shortcut is analagous to a KDE
Try again.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
Not quite. OS X actually has three kind of link:
- Hard links point to an inode on the current volume. File names are, effectively, all hard links, although typically you only refer to them as links when the file's reference count if greater than 1. All hard links are first-class citizens; you can't say one is real, and one is a pointer, they both have the same precedence.
- Symbolic links point to a path. If the path to a file changes, they will become invalid. If a new file appears at the path, they will point there. Symlinks can point to either an absolute or relative path. They are most useful if you want to point to a file that might not exist; for example a log file created by a program.
- Aliases point to a file. They have two major differences with hard links. They are not all first-class citizens, there is a clear distinction between the 'real' file, and the alias. They also work across volumes. Each HFS file has a unique index, which is indexed. Aliases point to this. You can move a file between volumes, and the alias will keep working. As such, they are very useful for pointing to files on removable media; the alias will continue to work whenever the disk is mounted, even if it is on a different mount point.
Personally, I find aliases to be the most useful, conceptually. They do have the disadvantage, however, that (like shortcuts) they do not work transparently at the POSIX layer. Unlike shortcuts, however, they do work transparently if you use the Cocoa/Carbon APIs. Hopefully Leopard will move them down to the POSIX layer, as it did with resource forks and other meta-data.I am TheRaven on Soylent News