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

来源:互联网 发布:滴滴java面试难吗 编辑:程序博客网 时间:2024/06/15 06:09

错误提示

➜  WORKING_DIRECTORY repo init -u https://android.googlesource.com/platform/manifest -b android-7.1.1_r35Traceback (most recent call last):  File "/mnt/winShare/worksp/asop/WORKING_DIRECTORY/.repo/repo/main.py", line 531, in <module>    _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。

1 0