在工作中,我们经常需要将在Windows上修改的代码,上传到Linux中进行编译或调试所做更改在Linux下的效果,虽然说可以通过sftp或自动化运维工作来实现,但对于简单的调试,这还是太麻烦了,我们更希望是能有所见即所得的快速调试办法, 其实我们完全可以将Ubuntu(Centos同理)下的目录映射到Windows上,直接在Windows上把项目文件当成本地化代码进行编辑,然后在Ubuntu上进行项目编译调试,直接说过程吧:
一、Ubuntu下的组件安装与配置:
1、首先在Ubuntu上安装Samba服务:
sudo apt install samba smbclient
2、编辑配置文件:
sudo vim /etc/samba/smb.conf
在该配置文件末尾增加您要共享的文件夹:
[ubuntuwork]
Comment = ubuntu share directory
path = /home/dev/mywork
browseable = yes
writable = yes
public = yes
# dev为共享的用户名,您也可以指定为您ubuntu系统中的其他用户名
valid users = dev
3、设置远程访问密码(dev为我机器ubuntu上的用户,您修改为您的用户名)
sudo smbpasswd -a dev
按提示输入密码即可
4、重启Samba服务:
sudo systemctl restart smbd
二、Windows下的设置:
1、启用远程策略:
在“运行”中或Shell命令行中输入“gpedit.msc”, 打开本地策略编辑器,并启用不安全的来宾登录:
在弹出的对话框中选择“已启用”, 并点击”确定”按钮。
2、在“运行”中或Windows资源管理器中打开您的Ubuntu的IP网络地址, 例如:
3、此时可以看到Samba共享文件夹的名字了, 右击,并选择“映射网络驱动器”
输入第一步中指定的用户及密码即可完成映射:
3、大功告成,您可以像使用本地代码文件一样的使用Ubuntu下的文件了。
三、常见问题:
本文虽然讲的是代码共享,其实任何文件共享都是同样的方法,如果您使用的是Centos操作也是一样的,只是第1小点的安装不一样而已。
1、Failed to add entry for user user.
这是因为您在创建samba用户时,指定的用户不是Ubuntu有效的用户
2、Windows映射时提示:指定的网络文件夹目前是以其他用户名和密码进行映射....
进入Windows shell或命令行:
net use
查看是否已经连接过:
如上图中,已连接过,您可以把它删除再进行映射:
net use * /delete