linux下挂载windows共享目录并创建软链接

错误提示

➜  WORKING_DIRECTORY repo init -u https://android.googlesource.com/platform/manifest -b android-7.1.1_r35
Traceback (most recent call last):
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/main.py", line 531, in 
    _Main(sys.argv[1:])
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/subcmds/init.py", line 399, in Execute
    self._SyncManifest(opt)
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/subcmds/init.py", line 234, in _SyncManifest
    clone_bundle=not opt.no_clone_bundle):
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/project.py", line 1231, in Sync_NetworkHalf
    self._UpdateHooks()
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/project.py", line 2312, in _UpdateHooks
    self._InitHooks()
  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/project.py", line 2341, in _InitHooks
    os.symlink(os.path.relpath(stock_hook, os.path.dirname(dst)), dst)
OSError: [Errno 13] Permission denied

可以看到创建symlink的时候出问题了。
所以,我们换一个姿势看报错:

➜  winShare ln -s /home/test/sublime /mnt/winShare/
ln: 无法创建符号链接'/mnt/winShare/sublime': 权限不够
➜  winShare sudo ln -s /home/test/sublime /mnt/winShare/
[sudo] test 的密码: 
ln: 无法创建符号链接'/mnt/winShare/sublime': 不支持的操作

错误原因

在摸索的过程中发现了一个闪光点:

因为在linux中使用虚拟VMware共享工具访问了Windows的共享文件实际上为另一个分区;
而单单”ln”命令,则建立一个硬链接,硬链接是不能跨分区,所以会产生错误。

然而,我这里用的是软链接,软链接可是号称可以在交叉文件系统(即跨不同文件系统,如ext4和ntfs)中创建的。

由于CIFS协议的特性,不支持你在远程文件系统上更改inides。所以,软链接不能直接在cifs文件系统上创建。

使用Windows Services for Unix可以帮你实现这个操作。目前最新版本是很多年以前的sfu3.5。

你可能感兴趣的:(linux)