-
Notifications
You must be signed in to change notification settings - Fork 834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unify lxss symlinks and win32 symlinks on driveFS? #1475
Comments
This sounds like #559 ? For what it's worth, I would like this feature, and I have heard from others who would also like this feature. |
@aseering This is the first build that enables unprivileged creation of symlinks (when in developer mode). |
By "this build", do you mean r14986? Then it sounds like it's a good time to restart the discussion :-) |
@aseering Yup. Technically it was announced last week for the cancelled insider build 14972 (because of the switch to the new UUP updater). https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10/#6rqVGez52fmdys8Q.97 |
We've spoken about this internally and I agree it would be a nice feature to have. I'll check with the team about the current plan. |
@benhillis Also, by the way, if we try to traverse a Win32 symlink with WSL in DriveFS, we get the error:
If I remember correctly, in the old pre-anniversary edition days, these kinds of symlinks were traversable. Also, the Win32 symlinks on DriveFS do not appear to even be visible with ls on drivefs |
Although unprivileged create requires the developer mode, it does not matter to WSL because WSL also requires the developer mode anyway. |
@vy03354 yup! |
This would also help with Cygwin interop. Right now, there's no common symlink format understood by both Cygwin and WSL, which makes switching between Cygwin and WSL a painful all-or-nothing affair. Cygwin already has read support for NTFS symlinks. |
Hey 0xabu. I spoke to the msys2 irc channel and they're going upstream to have it changed there as well to use native symlinks on 14986 in dev mode. |
From the point of a web developer, the cross use of symlinks is one of the most important missing features of WSL. I'm constantly testing WSL and for now, this missing features is the only left blocker to completely switch from OSX to Windows 10. Maybe the performance of the mounted file system is also annoying, but it's not a show stopper. Anykind of improvments so that symlinks are seen / shared between the two filesystem would be so much appreciated. |
What @ayalon said. We utilise grunt/gulp for various frontend dev setup/build processes which all works flawlessly in WSL with the exception of symlinks that are created. Windows not being able to follow symlinks created in WSL is the only show-stopper for our company-wide adoption. |
I have similar problem developing on Android because of "repo" utility. It manages tons of git repositories at once (which is required in my case). Problem appears because all files in ".git" folder are links to actual files in ".repo" folder. Because of this it is impossible to use git on windows side... |
@benhillis: Will this be considered for the Creators Update? THis would solve us sooo much headache. |
lxss symlinks break my win32 backup tools. The tools on both sides of the programming world should be able to view and copy directory trees created on the other side, with all links in the copy usable by both sides as well.
Then the subsystems can convert the link targets to absolute paths formatted as their respective user-mode programs expect. |
This no longer holds. Since build 16215, WSL can run without developer mode enabled. Another change: Since build 16193, WSL can follow already created NT symlinks. But it is still not possible to create a new NT symlink. |
Any update here ? |
@SvenGroot was working on this one and might be able to provide updates. |
mklink (NTFS junctions) are seen as symlink in WSL (fall creator update 1709) But beware that it's case sensitive, and WSL cares about it.
Whereas
|
NTFS junctions work since almost a year. The issue is, that symlinks created inside WSDL result in an unreadable file on the NTFS side. Tools like composer or modman from magento create tons of symlinks but these do not work on NTFS. The missing piece is this:
readable on NTFS. |
Windows Insider Build 17046 contains some improvements for symlink compatibility. See the full description in the release notes |
awesome, works great! |
I can wait to test this. This sounds really really awesome! |
Closing as this issue is fixed in Insiders Build 17046 as mentioned above #1475 (comment) |
@tara-raj Hi, does that mean that WSL symlinks can be opened with a native Linux container/VM ? I'm trying to do so but cannot seem to get it working. |
I don't think @myuseringithub issue is the same as depicted here. |
Update: Fixed by enabling Windows Developer Mode Windows Build 18362.592
|
The new builds have unprivileged symlinks available for us to play with in win32. WSL also does symlinking on DriveFS. However, when I made a DriveFS to DriveFS symlink from inside of WSL, this symlink appeared as a weird kind of file in Win32. (running
dir
incmd
said it was of typejunction [...]
, although it appears to be an invalid junction, since it was not traversable in Windows Explorer or cmd).It seems like a natural idea to have DriveFS-to-DriveFS symlinks created as actual NTFS symlinks now that they can be made without administrative privileges. Also of note: Trying to traverse a Win32 symlink inside of WSL produces the error:
Also, for obvious reasons, driveFS symlinks to VolFS/LXFS should maybe remain as they are (to avoid all of the weird and broken things that could happen), and VolFS-to-VolFS or VolFS-to-DriveFS symlinks are already a completely different format (they appear to be textfiles with special attributes if opened from a Win32 text editor).
The text was updated successfully, but these errors were encountered: