我一直在使用 VirtualBox 设置新的开发环境,这样我就可以在自己的 VM 中对我的服务等进行沙盒处理。这是一个基于 Ubuntu 的 VM,它以无头实例的形式加载,我可以通过 SSH 从主机进入。
我想要做的是将所有项目文件存储在主机上,然后与客户虚拟机共享它们。我可以使用以下命令轻松完成此操作:
sudo mount -t vboxsf <name> <target_path>
这很完美。但是,每次启动虚拟机时都必须运行该命令,这有点麻烦。这意味着我必须启动它,通过 ssh 登录,执行命令并重新启动需要访问主机上存储的数据的各种服务(postgresql、apache、mongo 等...)。
我认为使用fstab
是最好的途径,因此我着手将以下条目添加到列表中:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
HostWWW /home/wilhelm/www vboxsf
很简单,对吧?好吧,我保存并退出,重新启动虚拟机,重新通过 SSH 登录,导航到共享文件夹的挂载点,它仍然是空的。我快速做了一下,ls -lsa
什么也没得到。因此,我运行以下命令来查看它是否真的已挂载:
mount -v
我在结果挂载点列表中看到以下行:
HostWWW on /home/wilhelm/www type vboxsf (rw)
现在,如果我错了,请纠正我,但这应该告诉我它实际上已被安装为具有读/写访问权限。现在,如果我使用与上述相同的命令再次重新安装共享,一切都会正常。
不确定我在这里做错了什么;我该如何解决这个问题?
答案1
- 在 VirtualBox Manager 中禁用
Auto-mount
共享文件夹。 添加以下行到
/etc/fstab
:HostWWW /home/wilhelm/www vboxsf defaults 0 0
它会发挥神奇的作用。
答案2
好吧,事实证明,只需将该命令添加到 即可轻松解决这个问题/etc/rc.local
。仍然希望能够fstab
正常工作。