Osx

在 VM 中符號連結 /mnt 以將文件直接編譯到 VM 文件夾

  • August 6, 2019

我想要做的是在我的 Mac 和我的 Ubuntu VM 之間符號連結一個共享文件夾。

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/用作連結嗎?

HGFS 不允許這樣做。無論您做什麼,符號連結都只允許從共享到共享中的其他位置。其他連結將與您製作的損壞文件類似。通常,來賓可以創建符號連結,但不能跟隨它們。如果您添加該行

sharedFolder<n>.followSymlinks = "TRUE"

那麼客人將被允許遵循已經建立的符號連結,但隨後它將失去創建新符號連結的能力。

參考

就我而言,我使用的是 Oracle VM,我必須允許 VM 進行符號連結。在 Windows 中使用VBoxManage,使用以下命令:

VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARED_FOLDER 1

其中VM_NAME是您的虛擬機的名稱,以及SHARED_FOLDER的名稱(我相信沒有路徑)。如果命令成功,它不會返回任何內容。如果不是,則返回錯誤。

引用自:https://unix.stackexchange.com/questions/374567