在 Vagrant 下启用 SMB 文件共享

在使用 vagrant 搭建 php 开发环境的时候,需要用到文件同步同步功能。在比对了众多网络文件系统之后,发现对 Windows 下文件同步系统最友好的是 smb, 那么怎么在 vagrant 启用 smb 文件共享呢?

不管你是用什么方式拿到了 vagrant box,在启动 vagrant box 的时候,请修改 Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.synced_folder "C:/Work", "/home/Code",
    type: "smb",
    smb_host: "192.168.33.1",
    smb_username: "ranwuer",
    smb_password: "yourpassword",
    mount_options: ["username=ranwuer","password=yourpassowrd"]
end

参数解释:

1. smb_host

表示需要与哪台主机共享文件,这里填的是 host 端的 IP 地址,需要以下配置启动后,才可以使用这个 IP。

config.vm.network "private_network", ip: "192.168.33.11"

这个配置的意思是,guest 主机与 host 主机通信的私有网络。host 端的 IP 为 192.168.33.1,可以在 cmd 中输入 ipconfig 查看:

这样以来,就可以使用 smb 实现 guest 的文件夹和 host 端的文件夹之间的数据同步了。

2.smb_username,smb_password

如果不输入这个参数的话,在你运行 vagrant up 的时候,vagrant 会提示你输入 windows 的用户名和密码,来实现对 windows 中某文件夹的连接。目前我是在 windows 10 系统上实现的,还请根据实际情况填写这两个参数。总之配置了这两个参数不用每次启动的时候都输入 windows 的用户名和密码。

3.mount_options

填写这个参数是为了解决 “wrong fs type” 错误,见:https://www.vagrantup.com/docs/synced-folders/smb.html 的 COMMON ISSUES 章节。这是官方提出的错误解决方案,反正我这样子用了,就没有出现问题了。

错误提示:

一些常用技巧:

1.为了防止smb共享剔除不活动的连接需要执行以下命令让系统不要自动踢掉不活动的连接
net config server /autodisconnect:-1

2.vagrant不会自动删除共享,要删除共享使用命令
net share c30268623ba3dedeaa9f098b570dca21 /delete

3. 用 net share 查看文件共享状态

总之,我根据这个配置, 解决了在 windows 下虚拟机与 hos t主机的通过 smb 共享的问题,还请各位看官轻拍。

时间: 2024-10-15 02:54:12

在 Vagrant 下启用 SMB 文件共享的相关文章

Linux下搭建SMB文件共享服务,Linux/Windows互联互通

一丶简介:SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138.139两个端口的服务,NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统.这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block) 协议,这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享 打印机和文件等.因此,为了让Windows和Unix/Linux计算机相集成,

SMB文件共享——原理篇

1.什么是SMB文件共享 通用Internet文件系统(CIFS)也称为服务器信息块(SMB),是适用于MicrosoftWindows服务器和客端的标准文件和打印机共享系统. Samba服务可用于将Linux文件系统作为CIFS/SMB网络文件共享进行共享,并将Linux打印机作为CIFS/SMB打印机共享进行共享. 2.Samba服务的组成部分   2.1. 软件包: Samba-common – Samba的支持文件 Samba-client – 客户端应用程序 Samba – 服务器应用

04.SMB文件共享原理

04.SMB文件共享原理 ·SMB协议是windows中使用的文件共享协议,我们在Linux.unix系统中可以通过samba实现SMB功能, ·samba服务是SMB的一个开源实现,主要功能: ·通过SMB协议进行文件共享, ·通过SMB协议进行打印共享, ·加入一个windows2000\2003\2008域环境, ·通过windows域环境进行认证操作, ·SMB协议又称为CIFS(Common Internet File System)协议, ·samba安装及介绍: ·yum inst

Linux下启用Chrome/Firefox的Java插件

JDK 已经安装好,但是浏览器运行 Java Applet 时提示需安装 Java 插件. 这时,在浏览器安装目录中 plugins 文件夹下创建2个重要的符号链接即可. libnpjp2.so   (this file exist in /usr/lib/jvm/jdk1.6.0_35/jre/lib/i386/libnpjp2.so) libjavaplugin_oji.so (this file exist in /usr/lib/jvm/jdk1.6.0_35/jre/plugin/i3

windows server2008 r2 下启用 sqlserver 2008的远程连接

首先说明,本文转自互联网. TMD 花了二天,终于找到怎么开启这个远程连接了.....娘的,累死了,写下来,希望能帮助同胞们... 用win server 2008 r2 和sql server 2008 搭平台,sql 2008不能远程连接,解决的办法如下: 1. 启用 sql 2008 服务器的tcpip.打开服务器配置工具sscm,单击“sql server网络配置”下的协议,这里会列出服务器的实例名称,在右边双击tcpip,启用项选择是. 2. 在“ip地址”中选择下面的“ipall”配

linux下smb文件共享服务器详解

1.smb服务器,netbios工作端口137/udp,138/udp,139/tcp,共享文件工作端口445/tcp 2.smb服务器主要是运行在linux与windows之间的文件共享服务, 安全级别有user,share,server,domain四种 user:相当于使用用户认证 share:相当于匿名访问 server:相当于在另一台服务器上用户认证 domain:相当于使用windows AD域用户认证 3.smb认证用户有3种,分为本地系统,非本地服务器上的帐号和windows的A

WCF在tcp通道下启用httpget

关于tcp通道下,启用httpget,必须启用一个http的基地址,如果要启用无数据交换,host中必须开启服务描述. //01 create host Uri tcpBaseAddress = new Uri("net.tcp://127.0.0.1:12345/kp"); Uri httpBaseAddress = new Uri("http://127.0.0.1:12346/kp"); ServiceHost host = new ServiceHost(t

Ubuntu下配置smb服务器

一. samba的安装: sudo apt-get insall samba 二. 创建共享目录: mkdir /home/user/share sodu chmod 777 /home/user/share 三. 创建Samba配置文件: 1. 保存现有的配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 2. 修改现配置文件 sudo gedit /etc/samba/smb.conf 在smb.conf最后添加 [share]

Mac Pro更换SSD后,在Win7下启用ACHI的方法AHCI

在Mac Pro下更换SSD后,如果安装Win7,要将SSD改为AHCI模式是非常麻烦的.本文介绍如何将Mac的Win7下的SSD改为AHCI方式驱动,及几种常见问题的处理. 一.当Lion与Win7双系统并存时,如何将Win7的SSD驱动模式改为AHCI 1.1.进入Win7系统,修改注册表 通知系统下一次开机,加载AHCI驱动: 开始菜单,运行,regedit,进入以下目录:              HKEY_LOCAL_MACHINE\System\CurrentControlSet\S