環境:html
基於VBox 的 vagrant (centos版本)開發環境。linux
問題:nginx
Virtualbox 虛擬機(centOS)中,在進行go程序編譯的時候,須要設置一個連接符,而後獲得了以下的錯誤:centos
ln: failed to create symbolic link ‘/home/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes’: Protocol error
查證:安全
通過排查,發現這是由於這 VirtualBox 從安全角度出發,限制了共享文件夾軟連接的建立,從而致使了該問題的發生。所以咱們解決問題的入口就要肯定在如何解決共享文件夾可建立軟連接權限的問題。ide
解決:spa
在這裏,我直接往PATH目錄中添加安裝目錄了:
vagrant
右鍵選擇管理員權限便可。
運行以下命令:code
VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1
PS:YOURVMNAME修改成本身虛擬機中linux系統的名稱,即VirtualBox管理器左邊列表中顯示的虛擬機名稱。YOURSHAREFOLDERNAME 修改成本身設置的共享目錄名稱 master_default_1517988860839_41143,即下圖中個人共享目錄的名稱 home_gopath_src_。
orm
因此正式命令以下:
VBoxManage setextradata master_default_1517988860839_41143 VBoxInternal2/SharedFoldersEnableSymlinksCreate/home_gopath_src_ 1
執行驗證就能夠看到咱們的設置的key/value 值信息:
C:\Windows\system32>VBoxManage getextradata master_default_1517988860839_41143 enumerate Key: GUI/LastCloseAction, Value: PowerOff Key: GUI/LastNormalWindowPosition, Value: 208,97,720,445 Key: GUI/RestrictedRuntimeDevicesMenuActions, Value: HardDrives Key: GUI/RestrictedRuntimeMachineMenuActions, Value: SaveState,PowerOff Key: GUI/StatusBar/IndicatorOrder, Value: HardDisks,OpticalDisks,FloppyDisks,Network,USB,SharedFolders,Display,VideoCapture,Features,Mouse,Keyboard Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/home_gopath_src_, Value: 1 Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/usr_share_nginx_html_, Value: 1 Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant, Value: 1
說明已經設置成功了。
以上