我想做的是在我的 Mac 和 Ubuntu 虚拟机之间建立一个共享文件夹的符号链接。
VM 上的共享文件夹将进入/mnt/hgfs/
.
在我的 Mac 上,我将目录(比方说macdirectory
)符号链接到共享文件夹sharedfolder
,因此当我编译文件并将文件放在那里时,它会跟随应用程序运行的 VM 目录。
我想在我的虚拟机中做的是这样的:
sudo ln -s ~/linuxdirectory /mnt/hgfs/sharedfolder
但随后我收到此错误消息:
ln: failed to create symbolic link '/mnt/hgfs/sharedfolder/linuxdirectory'
经过我多次尝试建立这个符号链接,我可能做了错误的链接。这是结果ls -la /mnt/hgfs/sharedfolder/
drwxr-xr-x 1 502 dialout 102 Jun 30 22:30 .
dr-xr-xr-x 1 root root 4192 Jun 30 23:01 ..
-????????? ? ? ? ? ? linuxdirectory
我不能用作/mnt/
链接吗?
答案1
HGFS 不允许这样做。无论你做什么,符号链接只允许从共享到共享中的其他位置。其他链接将像你创建的损坏文件一样。通常,客户机可以创建符号链接,但无法跟踪它们。如果你添加以下行
sharedFolder<n>.followSymlinks = "TRUE"
那么来宾将被允许遵循已经创建的符号链接,但随后它就失去了创建新符号链接的能力。
答案2
就我而言,我使用的是 Oracle VMBox,并且必须允许虚拟机创建符号链接。在 Windows 中使用VBoxManage
,使用以下命令:
VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARED_FOLDER 1
在哪里虚拟机名称是您的虚拟机的名称,以及共享文件夹(我相信没有路径)。如果命令成功,则不会返回任何内容。如果不是,则返回错误。