在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文件夹的实现机制:VMware自带功能及samba服务器。
1 VMware自带共享文件夹功能
这种方法很明显只能在VMware下使用,换成其它虚拟机软件,比如VirtualBox,就不适用了。当然VirtualBox也有其共享文件夹的功能,原理类似。
要使用此功能,一定要先安装VMware tools(详细请参见:手把手教你配置Linux虚拟机),安装完毕一定要重启虚拟机。
-
1.1 打开 虚拟机 --> 设置
-
1.2 在 「虚拟机设置」 中,选择 「选项」 标签,再点击 「共享文件夹」,然后点击右侧的 「总是启用」 ,之后再点击 「添加...」 ,添加主机上的共享目录。后面就跟着提示一步步操作即可。
-
1.3 现在主机的共享文件夹位于 E:\share,那在虚拟机下哪里可以找到?答案是 /mnt/hgfs/share/。可做个测试:在虚拟机下/mnt/hgfs/share/下创建一个test.txt,在E:\share里可见到并可打开此文件。
2 samba服务器的搭建
SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。它不受虚拟机平台的限制,不管是VMware还是VirtualBox,都可以用。实际上,samba并不依赖虚拟机,两者毫无关系。
- 2.1 首先安装samba及smbclient:
sudo apt-get install samba
sudo apt-get install smbclient
- 2.2 创建共享目录:
mkdir ~/share
chmod 777 ~/share
- 2.3 修改配置文件:
sudo vim /etc/samba/smb.conf
在其后添加:
path = /home/liangxu/share
available = yes
browseable = yes
public = yes
writable = yes
- 2.4 创建samba用户
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a liangxu
根据提示输入密码。
- 2.5 重启samba服务器
sudo /etc/init.d/smbd restart
- 2.6 将共享目录添加到主机中
先在我的电脑里任意位置右击,选择 「添加网络位置」 ,然后再点击下一步
选择 「选择自定义网络位置」 ,点击下一步
在下一步里,填入共享目录地址:\192.168.0.131\share
虚拟机IP地址使用ifconfig查看。
至此,samba服务器全部搭建完毕。以后在此文件夹下创建或修改文件,从主机或虚拟机上查看到的效果都是一样的。
更多精彩内容,请关注公众号良许Linux,公众内回复1024可免费获得5T技术资料,包括:Linux,C/C++,Python,树莓派,嵌入式,Java,人工智能,等等。公众号内回复进群,邀请您进高手如云技术交流群。