环境: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
说明已经设置成功了。
以上