问题

最近把mac的操作系统升级到了最新版本发现了一个问题,通过共享文件夹的方式 修改的文件,无法立即同步到虚拟机中,大概需要30秒才能同步到共享文件夹。

操作环境如下

  • 虚拟机:Virtualbox

  • 虚拟机操作系统:Ubuntu16.04

  • 虚拟机管理工具:Vagrant

  • 物理机:Mac  High Sierra  10.13.4

现象截图

正常截图

修改文件之后的截图

可以发现,当修改之后 通过终端查看文件发现 直接提示 error了并且文件的权限也不对了都变成?了 (如上图)

苦恼

每次修改一个文件都要等一会才能看到效果,非常急人,不是我们互联网人的追求效率的做法。那我们就要想办法解决。我知道肯定是升级系统造成的,但是不知道如何解决,就Googole了很久,终于找到了解决方法

解决方法

设置vagrant 目录同步的 :mount_options => ['actimeo=2'] 。修改完成如下

config.vm.synced_folder "/Users/vincent/code/", "/home/www", :nfs => true ,:mount_options => ['actimeo=2']

为什么会有这样的问题

这里面牵扯到一些偏僻的知识,我也不是特别明白。但是大致原因我知道了,因为Mac 升级到 High Sierra 之后 使用了APFS(苹果文件系统)。这个会导致同步问题。

那么为什么 加上 actimeo=2 就可以解决这个问题。具体这个牵扯到了linux 挂载的一些知识,个人了解的也不是太多,大致的意思是 加快了挂载目录之前的同步时间。个人估计对系统有些性能消耗。等以后有精力了在深入研究下 linux  mount 命令参数  actimeo 的含义

参考文档

原文地址:MacOS High Sierra 引起 VirtualBox Vagrant 同步慢
标签:vagrant   virtualbox   apfs   mount   actimeo   mount_options   共享目录

智能推荐

MacOS High Sierra 引起 VirtualBox Vagrant 同步慢的更多相关文章

  1. macOS 10.13 安装Virtualbox失败

    macOS 10.13 安装Virtualbox失败 Enviroment macOS: 10.13 High Sierra virtualBox: 5.1.28 Problem descriptio ...

  2. 在 macOS High Sierra 10.13 搭建 PHP 开发环境

    2017 年 9 月 26 日,苹果公司正式发布了新一代 macOS,版本为 High Sierra (11.13). macOS High Sierra 预装了 Ruby(2.3.3).PHP(7. ...

  3. 20171201 - macOS High Sierra 神级 bug

    昨日亲测有效,macOS High Sierra 神级 bug,系统管理员 root 密码为空,输入就可以登录,具备最高权限. 让人不禁想象 Apple Software 怎么了,人才都流失了吗?

  4. window64位电脑如何通过VMware Workstation12.5.6安装苹果操作系统 macOS High Sierra 10.13

    1.下载 VMware-workstation-full-12.5.6.exe,macOS High Sierra 10.13.iso 2.安装 VMware-workstation时不要选择C盘,因 ...

  5. 如何使用U盘安装macOS high Sierra?

    当你不再只是想升级系统的时候,而是想把系统重装,你可能就会用到如标题所说的方式:使用U盘安装mac系统.所以我们需要做以下几件事情,就可以顺利地重装mac系统: 第一步.在App Store下载最新的 ...

  6. Virtualbox+Vagrant环境准备

    环境准备 所需软件 下载地址 VirtualBox-5.2.8-121009-Win https://download.virtualbox.org/virtualbox/5.2.12/Virtual ...

  7. virtualbox+vagrant学习-2(command cli)-26-vagrant share命令

    Share share命令初始化了一个vagrant share会话,允许你与世界上任何一个人共享vagrant环境,允许在几乎任何网络环境中直接在vagrant环境中进行协作. 你可以在本博客的vi ...

  8. macOS High Sierra 10.13正式版USB安装盘制作

    1.首先,准备一个 8GB 或更大容量的 U盘,并备份好里面的所有资料. 2.下载好 macOS High Sierra 正式版的安装程序:https://support.apple.com/zh-c ...

  9. 制作 macOS High Sierra U盘USB启动安装盘方法教程 (全新安装 Mac 系统)

    方法一:使用命令行创建制作 macOS High Sierra 正式版 USB 安装盘 首先,准备一个 8GB 或更大容量的 U盘,并备份好里面的所有资料. 下载好 macOS High Sierra ...

随机推荐

  1. H5中画图标签Canvas---画矩形,画线,画圆,渐变色,图形载入

    一: 1.鼠标监视坐标值 <!DOCTYPE html> <head> <meta charset=UTF-8> <title>canvas的演示< ...

  2. Nodejs 使用 es module (import/export)

  3. python3 + flask + sqlalchemy +orm(1):链接mysql 数据库

    1.pycharm中新建一个flask项目 2.按装flask.PyMySQL.flask-sqlalchemy 3.项目下面新建一个config.py 文件 DEBUG = True #dialec ...

  4. 【原创 Hadoop&Spark 动手实践 13】Spark综合案例:简易电影推荐系统

    [原创 Hadoop&Spark 动手实践 13]Spark综合案例:简易电影推荐系统

  5. bootstrap动态添加Tab标签页

    好久没有写博客了(主要是懒),工作中用到一个动态添加Tab的功能,众所周知,bootstrap没有动态添加Tab的功能,网上又没找到什么好用的,那咱就自己写呗?(因为懒,所以只写了添加的方法.(๑&g ...

  6. oozie调度sqoop Job 数据库密码无法保存

    问题描述 通过oozie调度sqoop作业时,需要输入数据库作业密码,但在sqoop元数据服务配置密码后,过一段时间会失效. 解决方法 将数据库密码写入HDFS文件,通过配置Sqoop job,实现传 ...

  7. NuGet Packages are missing,This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.

    错误内容 This project references NuGet package(s) that are missing on this computer. Use NuGet Package R ...

  8. Github恶搞之自定义你的contribution图表

    在正式写程序之前让我先来看看效果: 对了,这个程序的效果就是生成一个具有你想要的“contributions in the last year”图表的html页面. 当然,html文件,而不是你在Gi ...

  9. deep learning 以及deep learning 常用模型和方法

    首先为什么会有Deep learning,我们得到一个结论就是Deep learning需要多层来获得更抽象的特征表达. 1.Deep learning与Neural Network 深度学习是机器学 ...

  10. [原]Django(1)----Django-setting中的STATIC_URL 和STATIC_ROOT 和STATICFILES_DIRS 的区别

    1)对比以下两行图 理解STATIC_URL的意义 #access static files by url STATIC_URL = '/static/' 2)部署django项目的时候需要用到STA ...