问题
在windows系统和ubuntu系统之间需要共享大体积的数据(上百GB),通过U盘或者移动硬盘拷贝耗时长,且需要至少拷贝两次,这还要这些移动存储设备的容量够大,在这种情况下,如果能够使两台设备之间直接通过网线(别的联通方式可能更麻烦,在大多数情况下设备上都有以太网口)直接进行数据的传输,则能够节约大量时间。
解决方案
前提:Ubuntu和Windows之间一定是联通的
- samba简介
samba旨在实现Linux与Windows之间的文件共享,它使用SMB/CIFS协议进行通信,这使得samba能够轻松地将Linux和Unix系统集成到Windows网络环境中。
- Ubuntu环境下安装命令(如果长时间没有更新软件源,建议先sudo apt-get update更新下软件源,保证下载的是较新的版本):
sudo apt-get install samba samba-common -y
很多博客文章说的是需要安装samba,samba-sommon以及samba-client,实际上一般安即可samba就可以了,samba-common会自动安装上去。此外安装samba-client一般是用来连接Linux之间的连接使用,但这里主要给windows使用,因此就不安装samba-client。
- samba:这个套件主要包含了 SAMBA 的主要 daemon档案 ( smbd 及 nmbd )、 SAMBA 的文件档 ( document )、以及其它与 SAMBA 相关的logrotate 设定文件及开机预设选项档案等;
- samba-common:这个套件则主要提供了 SAMBA 的主要设定档(smb.conf) 、 smb.conf 语法检验的测试程序 ( testparm )等等;
- samba-client:这个套件则提供了当 Linux 做为SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 档案格式的执行档 smbmount等等。
-
samba配置
(1) 首先确认需要共享的文件夹(如文件夹路径为/home/oem/data),并使用如下命令给予其权限:
sudo chmod 777 /home/oem/data
(2)在samba服务配置项中增加共享文件夹及其他权限设置
sudo vi /etc/samba/smb.conf #在文件最末增加以下内容 [data] # 自定义共享名 comment=this is data share directory from Ubuntu # 描述符 path=/home/oem/data # 共享的路径 public=yes # 是否公开,也就是是否能看到该共享 writable=yes # 是否可写
(3)保存以上配置后进行服务重启
sudo systemctl restart smbd.service
-
Windows端操作
在windows的文件管理系统的地址栏,或者win+R调出运行栏,输入当前ubuntu设备的局域网ip地址,即可看到共享文件夹,其他操作跟正常的windows文件操作一样。