VMware——mac下设置虚拟机共享文件夹
前言
为了调试优化一个PHP的项目,基于VMware本地起了一个ubuntu的虚机进行开发,通过vscode远程连接到服务器上进行开发,本来这样其实就足够了,但是vscode和phpstrom比还要自己安装配置一些插件,有点浪费时间,这时候就想通过phpstrom的远程连接上去开发,谁曾想phpstrom的远程开发对比vscode来说很容易断开,这谁能忍啊,于是便有了这个随笔,其实本质上我就想折腾下,哈哈哈哈。
VMware Fusion
: 专业版 13.6.2 (24409261)
macOS
:15.2 / M2 Max
内容
基本的操作直接参考官方的即可,这里不做描述,直接贴图了,官方给的教程缺少了比较关键的一步,不过可能认为这个是常识,就没有放在文档里吧,之前在windows机器上使用VMware好像没遇到这种问题,应该是有自动挂载的机制。
基础步骤
挂载步骤
我这里是本地的开发环境,默认使用的是root账户,如果你本地不是root账户,不要忘记加下
sudo
mount -t fuse.vmhgfs-fuse .host:/ /mnt -o allow_other
-
mount:是 Linux 系统中用于挂载文件系统的命令,通过它可以将磁盘分区、设备或者远程共享文件夹等挂载到指定的挂载点上,使其在系统中可访问。
-
-t fuse.vmhgfs-fuse:指定了要挂载的文件系统类型。在这里表明挂载的是 VMware 虚拟机所使用的一种通过 fuse(用户空间文件系统)实现的 vmhgfs(VMware Host-Guest File System,VMware 宿主机 - 客户机文件系统)类型的文件系统。fuse 机制允许在用户空间实现文件系统,这样就能方便地在虚拟机环境中挂载和使用相关的共享资源。
-
.host:/:这是要挂载的源,也就是宿主机上设置的共享文件夹对应的挂载路径表示方式(在 VMware 虚拟机环境下的特定表示形式)。具体共享的哪些文件夹需要在 VMware 虚拟机软件的相关设置中提前配置好,这里 .host:/ 就代表了宿主机上可共享给虚拟机访问的资源入口。
-
/mnt:这是挂载点,即将宿主机共享文件夹挂载到虚拟机内的 /mnt 目录下。挂载完成后,在虚拟机的 /mnt 目录中就能访问到宿主机共享过来的文件了。挂载点可以根据实际需求自行选择其他合适的空目录,不过 /mnt 是 Linux 系统中比较常用的挂载目录之一,符合惯例。
-
-o allow_other:这是挂载选项,allow_other 表示允许除了挂载操作执行者之外的其他用户也能访问挂载后的文件资源。如果不添加这个选项,默认可能只有执行挂载命令的用户有权限访问挂载后的共享文件夹内容,添加后可以方便虚拟机内多个用户(如果存在的话)都能对共享文件夹进行操作。
扩展内容
正常来说,按着上面操作其实就已经结束了,不过咱们这个本意不是为了方便本地调试开发PHP的项目嘛,所以还要做一些额外的操作,如下:
- 迁移目录文件&创建软连接
- 本地调试验证
迁移文件
为了更好的区分文件,首先在挂载点创建一个目录,再进行后续的迁移操作。
mkdir /mnt/development/ad-admin/
cd /data/wwwroot/
cp -rvf /data/wwwroot/test.local-server.com /mnt/development/ad-admin/
ln -s /mnt/development/ad-admin/test.local-server.com /data/wwwroot/test.local-server.com
本地验证
只要文件正常展示,接口能够正常调用就说明整个流程已经跑通了。
- 查看文件是否正常展示
- 调用接口进行验证