将虚拟机ubuntu里的代码共享到window端进行编辑采用samba服务

为了在Windows上用Source Insight编辑、Ubuntu中编译代码,尝试了虚拟机文件共享和Samba服务。虚拟机共享文件夹因软链接问题失败,最终通过Samba安装和配置,实现Ubuntu文件夹对Windows的访问和修改,解决了跨平台共享问题。

为了将虚拟机的ubuntu的代码共享到window端,在window端用source insight进行编辑,然后在ubuntu进行编译,尝试了虚拟机文件共享 和 samba服务器两种方法。

一是采用虚拟机的共享文件夹方式,将windows下的文件夹mount到ubuntu的/mnt/hgfs/下,结果发现ubuntu在执行.sh脚本时失败,提示找不到该文件,究其原因应该是windows下不存在linux下软链接的问题,果断放弃。

二是,采用samba服务方式,将ubuntu下面的文件夹共享出来,windows可以访问和修改。

安装samba服务器:
sudo apt-get install samba
sudo apt-get install cifs-utils
sudo apt-get install samba-common

 备份原来的配置文件:
    cp /etc/samba/smb.conf  /etc/samba/smb.conf.bak

    修改配置文件
    sudo vi /etc/samba/smb.conf

    在最后添加:
    security = user //采用用户名密码登录, security =  share 采用匿名登陆   
    [share]
  path = /home/martin/samba_share     (这里为共享的路径名)
  valid users=ubuntu //ubuntu是用户名
  available = yes                       
  browseable = yes 
 
在使用 VirtualBox 或 VMware 等虚拟化平台运行 Ubuntu 22 时,共享文件夹是一个非常实用的功能,但有时 Windows 主机无法访问 Ubuntu 虚拟机中的共享文件夹。这可能涉及多个方面的问题,比如网络配置Samba 服务配置、防火墙设置等。 下面是一个常见的解决方案,假设你使用的是 **VirtualBox + Samba 共享文件夹** 的方式。 --- ### ✅ 解决方案:配置 Samba 共享并确保网络互通 #### 1. 安装 Samba 确保 Ubuntu 中安装了 `samba`: ```bash sudo apt update sudo apt install samba ``` #### 2. 创建共享文件夹 假设你要共享的文件夹是 `/home/your_user/shared_folder`: ```bash mkdir -p /home/your_user/shared_folder ``` #### 3. 配置 Samba 编辑 Samba 配置文件: ```bash sudo nano /etc/samba/smb.conf ``` 在文件末尾添加如下内容: ```ini [SharedFolder] path = /home/your_user/shared_folder browsable = yes writable = yes read only = no guest ok = yes create mask = 0777 directory mask = 0777 force user = your_user ``` > 请将 `your_user` 替换为你的实际用户名。 #### 4. 重启 Samba 服务 ```bash sudo systemctl restart smbd ``` #### 5. 设置防火墙允许 Samba ```bash sudo ufw allow 'Samba' ``` #### 6. 获取 Ubuntu 的 IP 地址 在 Ubuntu 中运行: ```bash ip a ``` 找到类似 `inet 192.168.x.x` 的 IP 地址。 #### 7. 在 Windows 上访问共享文件夹 打开资源管理器,在地址栏输入: ``` \\Ubuntu的IP地址\SharedFolder ``` 例如: ``` \\192.168.1.100\SharedFolder ``` --- ### 🧪 常见问题排查 #### 1. **确保网络连接方式是“桥接”或“NAT+口转发”** 在 VirtualBox 中,网络适配器建议设置为 **桥接模式**,这样 UbuntuWindows 处于同一局域网。 #### 2. **检查 Samba 是否运行** ```bash systemctl status smbd ``` #### 3. **Windows 上启用 SMB 1.0/CIFS 支持(不推荐但有时需要)** 某些旧版本 Samba 需要 SMB 1.0,可在 Windows 中启用: - 控制面板 → 程序 → 启用或关闭 Windows 功能 → 勾选 **SMB 1.0/CIFS 文件共享支持** #### 4. **检查用户名密码** 如果设置了 `guest ok = no`,则需要输入 Ubuntu 的用户名和密码。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值