环境

基于VBox 的 vagrant (centos版本)开发环境。

问题

Virtualbox 虚拟机(centOS)中,在进行go程序编译的时候,需要设置一个链接符,然后得到了如下的错误:

ln: failed to create symbolic link ‘/home/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes’: Protocol error

查证

经过排查,发现这是因为这 VirtualBox 从安全角度出发,限制了共享文件夹软链接的创建,从而导致了该问题的发生。因此我们解决问题的入口就要确定在如何解决共享文件夹可创建软链接权限的问题。

解决

  1. 关闭VBox
  2. 将VBox的安装目录添加到环境变量 PATH 中,通常VirtualBox在安装时,一般会在环境变量中自动创建名为VBOX_MSI_INSTALL_PATH的系统变量,将此变量添加到系统环境变量PATH中即可。

    在这里,我直接往PATH目录中添加安装目录了:

  3. 使用管理员权限打开cmd程序:

    右键选择管理员权限即可。
    运行如下命令:

    VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 

    PS:YOURVMNAME修改为自己虚拟机中linux系统的名称,即VirtualBox管理器左边列表中显示的虚拟机名称。YOURSHAREFOLDERNAME 修改为自己设置的共享目录名称 master_default_1517988860839_41143,即下图中我的共享目录的名称 home_gopath_src_。

    所以正式命令如下:

    VBoxManage setextradata master_default_1517988860839_41143 VBoxInternal2/SharedFoldersEnableSymlinksCreate/home_gopath_src_ 

    执行验证就可以看到我们的设置的key/value 值信息:

    C:\Windows\system32>VBoxManage getextradata master_default_1517988860839_41143 enumerate
    Key: GUI/LastCloseAction, Value: PowerOff
    Key: GUI/LastNormalWindowPosition, Value: ,,,
    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:
    Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/usr_share_nginx_html_, Value:
    Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant, Value:

    说明已经设置成功了。

  4. 使用 vagrant up 启动,继续编译
    发现,编译过程依然报最初的错误,想到我们之前使用管理员权限执行的命令,因此,我们执行vagrant命令的时候也尝试使用管理员权限执行(使用管理员权限打开 cmd 即可,其余操作不变),OK,没有问题,编译成功。

    PS.在这种情况下,要在 VBox 中查看虚拟机的运行情况,也需要使用使用管理员权限打开虚拟机,不然看到运行情况是停止状态。

以上

vbox在共享文件夹设置链接报错Protocol error问题的更多相关文章

  1. Vbox中Ubuntu的安装和共享文件夹设置

    1. 选择版本 1.1 Ubuntu桌面版与服务器版的区别 桌面版与服务器版,只要发布版本号一致,这两者从核心来说也就是相同的,唯一的差别在于它们的预期用途.桌面版面向个人电脑使用者,可以进行文字处理 ...

  2. VS Code远程链接报错Could not establish connection to “hz.matpool.com”

    VS Code远程链接报错Could not establish connection to "hz-t2.matpool.com" 输出的部分内容 安装Git git for w ...

  3. win7/8下VirtualBox虚拟Ubuntu共享文件夹设置

    实验环境: 主机:win8.1 虚拟机软件:VirtualBox4.3 虚拟的主机:centos6.5 final 亲测可用! 1. 安装增强功能包(VBoxGuestAdditions)  打开虚拟 ...

  4. win7/8下VirtualBox虚拟共享文件夹设置

    1. 安装增强功能包(VBoxGuestAdditions)   打开虚拟机,运行ubuntu,在菜单栏选择"设备->安装增强功能",根据提示即可安装成功(成功后也可 以实现 ...

  5. CentOS7 VMware-Tools安装与共享文件夹设置

    一. VMware-Tools安装 1.加载VMware Tools的光驱:点击"虚拟机"->"安装VMware Tools".这里,由于我已经安装了,所 ...

  6. 从0开始学习Hadoop(2) 环境准备-Win7主机与Ubuntu虚拟机共享文件夹设置

    主机要跟虚拟机共享文件夹设置有很多种办法,这里提供一种本地用户的方式 1. 新增一个本地用户,密码等其他设置如下 2.选择文件目录,这是共享属性 Ubuntu端设置: 文件夹->连接到网络-&g ...

  7. Mysql远程连接报错:SQL Error (1130): Host '192.168.61.128' is not allowed to connect to this MySQL server

    Mysql远程连接报错:SQL Error (1130): Host '192.168.0.18' is not allowed to connect to this MySQL server     ...

  8. virtualbox centos安装增强工具和Centos与VirtualBox共享文件夹设置

    VirtualBox 大家都习惯性把它简称为 Vbox ,比 VM 的体积小.开源.速 度快.不过在使用 VirtualBox  在虚拟机中安装 CentOS 之后,不能直接运行安装好 Virtual ...

  9. Oracle VM VirtualBox 共享文件夹设置

    在Windows平台下,这货完全没有VMware好用,但在Linux平台就很好用. 学校机房的电脑打开虚拟机就不能插优盘,一插优盘就卡死,所以,只好用共享文件夹了. 1.在虚拟机外部新建一个文件夹 假 ...

随机推荐

  1. ogre3D学习基础10 -- 键盘控制与鼠标控制(直接控制)

    要实现键盘,鼠标对场景的控制,首先要帧监听,就是在每一帧的渲染前后对它进行操作.这里的操作没有用到缓冲区,只是简单的直接获取. 1.这些步骤和前面的一样,直接上代码,操作还是在createScene函 ...

  2. Android中动态改变控件的大小的一种方法

    在Android中有时候我们需要动态改变控件的大小.有几种办法可以实现  一是在onMeasure中修改尺寸,二是在onLayout中修改位置和尺寸.这个是可以进行位置修改的,onMeasure不行. ...

  3. 多元线性回归(pandas/scikit-learn)

    import pandas as pd from sklearn.cross_validation import train_test_split from sklearn.linear_model ...

  4. 【Luogu】P3313旅行(树链剖分)

    题目链接 动态开点的树链剖分qwq. 跟小奇的花园一模一样,不做过多讲解. #include<cstdio> #include<cstring> #include<cct ...

  5. 扩展kmp--模板解析

    扩展kmp: 用于求串的各个后缀与原串的最长公共前缀的长度: 上图的是字符串自匹配的过程: 图一: 假设现在匹配到i-1了,开始求next [ i ] 的值,此时,k记录的是到目前为止匹配到的最远的位 ...

  6. Codeforces 899B Months and Years

    题目大意 给定 $n$($1\le n\le 24$)个正整数 $a_1,\dots, a_n$ 判断 $a_1$ 到 $a_n$ 是否可能为连续 $n$ 个月份的天数. 解法 由于 $n\le 24 ...

  7. [CODEVS1912] 汽车加油行驶问题(分层图最短路)

    传送门 吐槽:神tm网络流 dis[i][j][k] 表示到 (i, j) 还有 k 油的最优解 然后跑spfa,中间分一大堆情况讨论 1.当前队头还有油 1.目标点有加油站——直接过去 2.目标点每 ...

  8. 归并排序,时间复杂度nlogn

    思路: /*   考点:   1. 快慢指针:2. 归并排序.   此题经典,需要消化吸收.   复杂度分析:              T(n)            拆分 n/2, 归并 n/2 ...

  9. 利用node搭建本地服务器调试代码

    在命令符中输入 npm install -g live-server安装live-server 安装完成后在项目文件夹下打开cmd,输入live-server启动

  10. eclipse中maven项目交付svn忽略配置文件

    eclipse与maven插件的结合为我们快速搭建开发环境提供了便捷条件,然而maven编译出来的class文件.配置文件和打包文件实际上都不需要进行版本控制,团队中每个人的开发环境可能不太一样,将. ...