文章将演示下载、说明以及使用以下共享工具:
1、VMware-Tools
2、samba服务器(共享文件夹)
3、ssh远程登陆
4、nfs服务器
5、ftp服务器
演示环境
1、Linux Ubuntu22.04(桥接模式)
2、windows11
3、虚拟机VMware workstation pro 17
4、Visual Studio Code(vscode) 1.85.2
一、VMware-Tools
作用:
在没有安装此工具之前windows与虚拟机Ubuntu两者不能相互连通。
安装VMware-Tools能显著提升图形性能和用户体验,最显著的是在虚拟机和主机之间共享剪贴板内容,方便文本的复制粘贴,以及窗口跟随。
安装:
1、首先要确保虚拟机的共享文件夹处于禁用状态(左上角虚拟机--设置--选项--共享文件夹--禁用)
2、在终端输入以下命令 安装 VMware-Tools
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop
3、现在Ubuntu系统可以粘贴外部指令。
二、samba服务器
作用:
Samba服务器是一个开源软件,通过实现Windows的SMB/CIFS通信协议,使不同操作系统的计算机能够像在同一个Windows网络上一样,轻松地共享文件,从而实现跨平台的资源访问和集中管理。(共享文件夹)
安装:
1、首先要确保windows系统启用自带的SMB插件
打开控制面板--点击程序
在程序中---点击启动windows功能--启用SMB下所有相关功能(勾选)
注:可以利用windows自带的任意搜索窗口打开控制面板
2、在Ubuntu系统终端中输入以下安装指令
sudo apt-get install samba -y
结果如下
3、新建samba文件夹(建议在家目录新建),并赋予权限--名字可以自拟(以samba_shared为例)
mkdir ~/samba_shared
chmod 777 ~/samba_shared
结果如下:
4、设置配置文件,用以下命令打开配置文件
sudo gedit /etc/samba/smb.conf
并在配置文件末尾输入以下内容并保存:
[samba_shared]
comment = samba
path = /home/你的用户名/你的samba共享文件夹名
public = no
writable = yes
available = yes
browseable = yes
valid users = 你的用户名
/*
解析说明:
[samba_shared]:这是你定义的共享文件夹的名称。
comment:内容注释。
path:共享文件夹路径。
public:设置是否允许匿名用户访问。
writable:设置是否允许用户在共享中创建、编辑和删除文件。
available:共享是否可用状态。
browseable:表示该共享是否在网络上可以浏览。
valid users:你的Ubuntu用户名字。(可使用whoami查看)
*/
5、设置密码
sudo smbpasswd -a 你的ubuntu的用户名
6、重启服务器并查看状态
// 重启,要输入密码1次(系统的密码)
systemctl restart smbd.service
// 启动,要输入密码3次
systemctl enable smbd.service
// 查看状态
systemctl status smbd.service
7、成功状态如下
现在windows与Ubuntu可以相互访问这个共享文件夹传输文件
方法如下:输入ifconfig---查看Ubuntu的IP地址。
ifconfig
windows下win+R键打开,并输入Ubuntu的ip地址
登录界面输入你设置的samba密码,账号为你的虚拟机用户名称(可使用whoami查看)
进入文件夹后可以实现不同系统之间的文件共享互传。
三、ssh远程登陆
作用:
SSH(Secure Shell)的核心作用是建立一个加密的网络隧道,用于安全地远程登录和管理服务器或计算机,并在此基础上执行命令、传输文件(通过SCP/SFTP)和转发其他网络服务的流量。ps:个人认为的好处是可以在windosw的vscode中登录并操作其他系统,感观和体验都比较方便。
安装:
1、Ubuntu上输入安装命令
sudo apt-get install openssh-server
成功安装结果
2、启动ssh服务器
sudo /usr/sbin/sshd
注:成功不会有任何命令提示
3、可以使用其他平台登录(以vscode为例)
选择连接到新主机,连接格式如下
更新配置文件(选择第一个)---系统选择linux----输入你的Ubuntu密码----回车进行连接---等待下载服务器。成功如下:(这样你就能利用vs登录并控制Ubuntu系统了)
四、nfs服务器
作用:
对于硬件资源不足的平台,可以通过nfs挂载其他平台系统的nfs服务器,利用其它机器的存储硬盘内存。ps:个人在使用arm开发板的时候会mount 挂载Ubuntu系统的nfs文件夹,解决内存不足问题。
安装:
1、在Ubuntu系统(提供硬盘资源的设备(被挂载设备))终端输入以下命令
sudo apt-get install nfs-common nfs-kernel-server portmap
下载完成结果如下
2、新建nfs文件夹(建议在家目录新建),并赋予权限--名字可以自拟(以nfs_shared为例)
mkdir ~/nfs_shared // 创建nfs文件夹
chmod 777 ~/nfs_shared // 给予nfs文件夹权限
3、打开并设置配置文件
sudo gedit /etc/exports
将以下语句写入配置文件底部并保存
格式:/home/你的用户名/你设置的nfs共享文件夹名 *(rw,sync,no_subtree_check)
/*
解析:
/home/你的用户名/你设置的nfs共享文件夹名: nfs文件夹路径
*: 允许所有的网段访问
rw: 读写权限
sync: 资料同步写入内存和硬盘
no_subtree_check: 没有下级目录检查
*/
4、重启nfs服务器
sudo /etc/init.d/nfs-kernel-server restart // 重启nfs
sudo /etc/init.d/nfs-kernel-server status // 查看nfs状态
5、成功运行状态如下:
使用其他设备挂载演示(以另一个Ubuntu虚拟机为例演示---设备A)
注:以下命令在另一个Ubuntu系统中执行,来挂载我们上述配置的nfs服务器
mkdir ~/tmp #创建你的挂载目录(这里选择创建一个家目录下的tmp文件夹)
命令格式:sudo mount -o nolock 被挂载设备的IP地址:nfs文件路径 挂载到本地的目录(以自建tmp为例)
成功挂载可以观察到:
还可以输入df这个命令,这个命令会以人类易读的方式(-h
)显示所有磁盘分区的使用情况。成功的NFS挂载会作为一个独立的条目出现在列表的最后几行,清楚地标明它的设备名(即IP:路径)。
df -h
回到我们的设备进去nfs_shared文件夹可以看到
取消挂载指令(当不需要了可以取消挂载)
注:每次重启设备后都需要重新挂载一次,这里因为字幅问题不展示编写shell脚本开启自动挂载
格式:sudo umount 文件目录地址(就是你之前挂载到的目录:文章中为 /tmp)
五、ftp服务器
作用:
FTP服务器的主要作用是通过专门的FTP协议提供一个集中的文件存储和访问点,实现高效的文件上传、下载和共享。ps个人感觉就是文件同步比较方便,因为需要额外下载其他软件还有其明文传输的安全缺陷,这里不太推荐使用。
安装:
1、与samba安装的第一步一致,需要在控制面板--软件--启用windows功能中启用下Internet Information Services下的FTP服务器及其子功能。
2、Ubuntu系统终端中输入以下命令下载ftp
sudo apt-get install vsftpd
运行结果如下安装成功
3、打开修改配置文件并保存
sudo gedit /etc/vsftpd.conf
找到#write_enable=YES,将前面的#号去掉就可以了
注:可使用ctrl + f 快捷 打开检索框
4、重启ftp服务器并查看运行状态
sudo service vsftpd reload // 重新加载vsftpd
sudo service vsftpd restart // 重新启用vsftpd
sudo service vsftpd status // 查看vsftpd的状态
成功结果如下
6、新建ftp文件夹(建议在家目录新建),并赋予权限--名字可以自拟(以ftp_shared为例)
mkdir ~/ftp_shared // 创建ftp文件夹
chmod 777 ~/ftp_shared // 给予ftp文件夹权限
(上述配置操作已完成,使用任意ftp软件即可实现跨系统互相同步数据文件)
7、这里以FreeFileSync为例(如果以下连接失效可以后台私信我发给你)
注:这个软件开源挺好用的,有条件的朋友可以支持一下软件作者
由于笔者写到这里的时候网络环境发生了变化,就不操作了。大家可以看一下使用说明
点击云朵符号--选择FTP--填写信息
另外一侧选择本地(windows下你需要同步数据的文件夹)
最后点击比较---同步即可(同步左侧的设置,可以设置自己需要的同步方式)
遇到问题的解决建议:
1、首先确保网络处于连通状态,可使用以下指令查看能否正常上网,如果是网络问题,请查阅相关虚拟机不能上网的解决方案。
ping baidu.com
能正常上网的结果:
2、(VMware-Tools的安装)请确保共享文件夹处于禁用状态,如果是系统自动安装的VMware-Tools有冲突,可以尝试一下卸载原先的VMware-Tools后重新下载。卸载指令如下:
sudo apt-get autoremove open-vm-tools
3、(samba的安装)如果出现版本冲突问题可能是软件更新器更新自动下了samba。建议输入以下命令清除原有的samba重新下载。
sudo apt-get -f install
sudo apt-get autoremove --purge samba samba-common-bin python3-samba samba-libs libwbclient0 -y
4、(ssh的安装)连接之前需要注意自己是否安装ssh扩展。
5、下载使用apt-get Install 出现问题可能是APT 的软件包列表的版本太久,可以尝试以下命令更新apt
sudo apt update
sudo apt upgrade
6、注意配置文件修改后要保存
7、可以考虑一下重启 虚拟机/电脑
8、复制报错信息咨询AI智能体