Slashdot Log In
Vista To Get Symlinks?
Posted by
Zonk
on Mon Oct 31, 2005 05:36 AM
from the sounds-like-another-os-i-know dept.
from the sounds-like-another-os-i-know dept.
TheRealSlimShady writes "According to a post by Ward Ralston on the Windows server team's weblog, Vista server is to get symlinks as part of the SMB2 protocol." From the post: "In Vista/Longhorn server, the file system (NTFS) will start supporting a new filesystem object (examples of existing filesystem objects are files, folders etc.). This new object is a symbolic link. Think of a symbolic link as a pointer to another file system object (it can be a file, folder, shortcut or another symbolic link)."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Duplication... (Score:5, Insightful)
Duplication... (Score:5, Funny)
Parent
More Dupe than you think (Score:4, Informative)
Parent
Yet more great (Score:5, Funny)
Re:Yet more great (Score:5, Funny)
Parent
Funny thing is... (Score:5, Insightful)
Parent
Re:Funny thing is... (Score:4, Funny)
Parent
Re:Funny thing is... (Score:4, Funny)
Dennis Thompson? I didn't know that Dennis Ritchie [bell-labs.com] and Ken Thompson [bell-labs.com] fused and merged together back in the 60s to become ... Dennis Thompson.
Parent
Re:Yet more great (Score:5, Funny)
Forward slashes?
Text files without ^m's?
Parent
Re:NTFS already had symlinks? (Score:4, Insightful)
Parent
Re:Yet more great (Score:5, Funny)
Parent
Vista Will Probably Be BSD-Based (Score:4, Interesting)
To review the previous clues:
First, there was Microsoft's announcement that Vista (Longhorn) will use UNIX-like User Permissions:
See Longhorn to use UNIX-like User Permissions [slashdot.org]
Why would Microsoft do that, when even many Linux supporters agree that Windows permissions are finer grained? But if the new Windows is BSD-based, Microsoft would be forced to do that, or face rewriting a lot of the underlying BSD code.
Second, there was Microsoft's announcement that Unix compatibility will be "built in" to Vista:
See: Microsoft to Stop Releasing Services for Unix [slashdot.org]
Third, there is the fact that Microsoft ported
Fourth, there was Steve Ballmer talking about the Vista "reset" which started around 18 months ago.
See: Ballmer Pushes Microsoft Innovation, Talks Vista Reset [windowsitpro.com]
Does anyone really think that Microsoft could succeed in doing a major rearchitecturing of the Windows code now, in only 18 months, after they had tried and failed to do so many times over the last decade?
Besides, when has Microsoft ever shown the confidence or ability to succeed on their own? DOS, Windows NT, Internet Explorer, and
And now we have this new report that another basic feature of Unix, symbolic links, will be part of Vista.
Given all this evidence, I am fairly convinced that Vista will be based on one of the Open Source BSD distributions. Unlike Apple, however, Microsoft will probably try to keep it a secret, and claim it as their own innovation.
What will be the result?
On one hand, a BSD-based Vista might be a good thing, since it will result in a more stable, and less virus-prone Windows.
On the other hand, if Microsoft remains true to their history, they'll just screw it up with all the lock-in features they'll add on top. Like the VMS-and-OS/2-based Windows NT, which started out strong (version 3.51) then gradually degraded, I expect the benefits of a BSD-based Vista to be temporary.
Then again, Microsoft is just playing for time, as they continue their strategy of locking in the Internet. Thus, they only need Windows to be better for long eneough to fool their customers, again, while they tie them up with a new set of decommoditized protocols (.Net, Palladium, DRM, Windows Media, Office 12, and so on).
Parent
Re:Nevermind (Score:5, Insightful)
Parent
Re:Nevermind (Score:4, Informative)
As far as users are concerned, I suspect they won't know/see the difference. Creating symlinks will just work like creating shortcuts.
Parent
Allow me to be the first to say... (Score:5, Funny)
(Who was it who said: 'Those who don't know UNIX are condemned to recreate it. Badly.' ?)
Re:Allow me to be the first to say... (Score:4, Insightful)
Parent
Re:Allow me to be the first to say... (Score:5, Insightful)
Backward compatibility is absolutely indispensable for Microsoft - the only reason it's still the market leader after all the lawsuits, bad publicity and downright talented competition of the last few years is because nobody wants to break compatibility with their existing software, documents, networks and hardware. Microsoft understands this, and while I'm sure it drives a lot of MS developers insane, backward compatibility is always given top priority, even if it makes the architecture horribly ugly and illogical.
(If you want to see the Unix equivalent, read the chapter on terminal I/O in Stevens' Advanced Programming for the UNIX Environment. There are backward compatibility hacks in there that are so ugly you'll wish you'd been born blind.)
Parent
Re:Allow me to be the first to say... (Score:5, Informative)
$ fortune -m 'condemned'
...
Those who do not understand Unix are condemned to reinvent it, poorly. -- Henry Spencer
And those who don't understand fortune(1) are condemned to ask about quotes =)
Parent
Different than shortcuts (Score:5, Informative)
"Virtual folders", I believe it's used for (Score:5, Informative)
Re:"Virtual folders", I believe it's used for (Score:5, Informative)
Parent
Security risk? (Score:5, Interesting)
"Now why is this relevant to the SMB2 protocol? This is because, for symbolic links to behave correctly, they should be interpreted on the client side of a file sharing protocol (otherwise this can lead to security holes). "
Is it not rather:
"If the client does not interpret symbolic links then nothing will work?"
Re:Security risk? (Score:5, Interesting)
If the server did no special behaviour for symlinks then they would appear to the client as a duplicate of the symlink target, an ordinary file.
Parent
NTFS already does it since Win2K ! (Score:5, Informative)
http://www.sysinternals.com/Utilities/Junction.ht
Any feature new in Vista but the look and feel ?
What about booting the OS with less than about 20 services started and 256MB of memory used ?
Re:NTFS already does it since Win2K ! (Score:5, Informative)
NTFS does support hardlinks and, as the developers of the NTFS driver for Linux recently discovered (see details in this thread [theaimsgroup.com]), it also supports symlinks, provided Microsoft Services For Unix are installed.
The important part of all this, is, I think, that open source tools ranging from the linux fs drivers (ntfs and cifs/smb) to the cygwin stuff should get updated and start managing the thing the way MS does it (on MS filesystems, of course).
Parent
FAT does it too... (Score:5, Funny)
Well. So does FAT, except it is called a crosslink, and aparently scandisk and various disk defragmentation tools do not handle it correctly ;-)
Parent
Re:NTFS already does it since Win2K ! (Score:5, Insightful)
The problem with Junction.exe is that the Explorer shell and all other applications do not differentiate between links and real folders. That is, applications never expect two different paths to point to the same object, which makes Junctions much less useful in practice. For example, file search results take much longer to complete and display duplicate results. I believe that is why they initially limited Junctions to just directories.
Now, if Vista got persistent file handles, that would be interesting.
Parent
Re:NTFS already does it since Win2K ! (Score:4, Interesting)
Even more annoyingly, if you "delete" a junction point directory through the shell it will do a recursive delete just as it would for a folder, thus deleting all of the contents of the junction's target directory. If you set up the junction point then this is expected, but if it's someone else who isn't familiar with the concept they can easily mistake it for a bunch of duplicate files (since the shell displays them identically, and gives misleading disk usage information) and delete both copies.
Parent
Fantastic! (Score:4, Funny)
NTFS already has symlinks, has done for years (Score:4, Informative)
Lol, symlinks (Score:5, Informative)
Symbolic links make the Unix file system non-hierarchical, resulting in multiple valid path names for a given file. This ambiguity is a source of confusion, especially since some shells work overtime to present a consistent view from programs such as pwd, while other programs and the kernel itself do nothing about the problem.
http://plan9.bell-labs.com/sys/doc/lexnames.html [bell-labs.com]
NT *was* going to have executables that pretended to be files, i.e. when you opened the executable to get the contents it would run and return the output rather than the by bytes of the executable, with a special NT syscall to read the *real* contents. Kind of like a named pipe. I was looking forward to this but it didn't work out.
Symlinks were a BSD invention (Score:4, Informative)
The commercial product, SysV, got symbolic links, but they had to compete in the real world.
Parent
Re:Lol, symlinks (Score:4, Informative)
You're confused. Files in Unix filesystems have no hierarchy, with or without symbolic links. Files are quite independent of file names. Multiple directories may contain entries for the same file, the names need not even be the same. The same directory may reference the same file with multiple names. Note for examples that renaming a file changes the modification time of the
Symbolic links are a bit of a hack though, yes. But mostly because they must expose the limitations of "files are not the same as filenames" - not because they allow multiple paths to the same file.
--paulj
Parent
Re:Lol, symlinks (Score:4, Informative)
or rather, I'll just provide a link to this
The Use of Name Spaces in Plan 9
Rob Pike
Dave Presotto
Ken Thompson
Howard Trickey
Phil Winterbottom
Bell Laboratories, Murray Hill, NJ, 07974 USA
http://plan9.bell-labs.com/sys/doc/names.html [bell-labs.com]
Parent
Re:I think we have a new kind of troll... (Score:5, Informative)
This story is a case in point. Symlinks are a hack that hides the fact that disk drive based namespaces are a crock. And a crock that's easily solved.
Unix is 30 years old, Linux copies it. Windows is not in the picture.
Linux / BSD et. al. offers very little innovation any more. Instead anything new is coming in through the user space and we end up with stuff like GnomeVFS and smb:// handlers.
The only real place where any real Unix like innovation has occured in recent times was in Bell Labs and the expresssions of that are Plan 9 and Inferno.
You can try some of the concepts out in user space through http://swtch.com/plan9port/ [swtch.com]
"Plan 9 from User Space (aka plan9port) is a port of many Plan 9 programs from their native Plan 9 environment to Unix-like operating systems.
supported systems : Linux (x86 and PowerPC), FreeBSD (x86), Mac OS X (Power PC), NetBSD (x86), OpenBSD (x86 and PowerPC), SunOS (Sparc)."
Parent
MS Motto (Score:5, Funny)
FOUR, er FIVE symlink styles, all kinda *wrong* (Score:5, Interesting)
oops, isnt there still:
Make that FIVE ways. All of them looking somewhat alike, but all with subtly different syntax, semantics, overhead, and security implications. Sweet!
Improve on symlinks? (Score:5, Informative)
1) When you move a destination object, symlinks don't follow the target . This leaves "broken" symlinks that refer to nothing. Why doesn't the mv command move these too?
2) When you symlink a symlinked folder, the root symlink is ignored. Let's say you symlink
3) Symlinks cause all kinds of weirds around chrooted file systems , especially ones on a different underlying filesystem. If you're not very careful, nothing is as it seems! Files go nowhere, files are accessable only sometimes, etc. It's logical when you understand and appreciate a symlink for what it is, just a referral, but it can be maddening when security contexts get distorted around a chroot...
The Fix: Aliases (Score:4, Informative)
Parent
No. (Score:5, Informative)
Parent
Re:Ah yes (Score:5, Interesting)
The basis of it is that a shortcut is just a file - the exact same thing as a shortcut can be achieved by having a file with the target path just written in ascii inside, and assuming that the reader can tell it's a shortcut then it could get the target path sure, but if the reader is not equiped to specifically handle those shortcuts then it'll get muck.
A symlink masquerades as the actual file or folder, and the app doesn't need any specific handling to read the file. You can for example go into bash and write "cd symlink/" and it'll go to that folder. A shortcut is just a file, a symlink is an attribute of the filesystem.
Parent
Re:Ah yes (Score:5, Insightful)
When shortcuts were invented for Win95 the Win32 API should have been built to treat a shortcut as the object it pointed to. That way they would have had real working links up front. Now they are going to be stuck with two types of link which work in different ways.
Parent
Re:Symbolic links? (Score:5, Insightful)
It's not like Linux never copied an idea from another OS, yet it seems MS is not allowed to add a feature unless they thought of it themselves.
But then I guess everyone here gets a bit bitter when there is one less thing to complain about MS.
Parent
Re:Symbolic links? (Score:5, Informative)
Also, FAT had initially a flag indicating that an object is not a file, nor a folder, but a symlink. Unfortunately, the attribute got later used as a "Long Filename Part no. X" flag... talk about bad design..
Parent
Re:Symbolic links? (Score:4, Informative)
Windows 2k and above have both hardlinks (which are available via standard tools) as well as symlinks, restricted to directories only and not available via the OS' tools.
Check Juctions [sysinternals.com] for the creation and handling of symlinks.
Parent
Re:Symbolic links? (Score:4, Informative)
Parent
Re:We can only hope (Score:5, Informative)
Parent
Re:Great... but (Score:4, Funny)
Multiple streams are an absurdity. "Ok contestants, repeat after me: 'A file is a variable-length array of bytes.'" Steve Jobs: "A file is two variable-length arrays of bytes." BZZT. "Sorry Steve, thanks for playing." Bill Gates: "A file is N variable-length arrays of bytes." BZZT. "Whoops Bill, that's a directory. Looks like you're out too! Join us next week on 'Who wants to be an architect!'"
Reparse points are more commonly known in the UNIX community as 'mount points.'
Parent
Re:Great... but (Score:4, Interesting)
Two are running Battlefield 2 servers 24x7, one is running a web server and a database server to aggregate statistics on players. All have been in service doing this kind of thing for over two years.
Never defragged, still running as good as new.
Parent
Re:Already has this (Score:4, Insightful)
and of course the plain old short cuts that are really symbolic links in the traditional unix world.
Try sharing that shortcut over Samba. Didn't work you say? Then, absolutely nothing UNIX-like about it.
The unfortunate part is people still think of DOS/Win95
I use Windows XP and it still has lots of shortcomings. However it's multimedia support is waay ahead of Linux, and I use my machine mainly for multimedia. So whatever criticism I may serve, that's based on WinXP and modern Redmond-OSes.
Give me a feature in Unix and Im sure there is an equivalent in NT.
You'd think any serious server-OS would implement this...
A reinstall with the textmode interface doesn't count.
For whatever reason, increased security, lightweight editions, added native FS support...
Just to list a few. I do however have a job to do :-D
Parent