Saturday, June 25, 2011

Mac 下以虚拟机为 "沙盒", 构造 "洁癖式" 开发环境

(归档自 "每日阅读" 上的该贴)


"苹果下的开发" 可以这样分成两大类:
  1. 苹果自身技术相关的开发,如 iOS app、Mac app,这些装上 XCode 就统统搞定
  2. 非苹果特定技术的开发,如 Python/Django, RoR,这些会需要到安装配置一些开源的工具等等
尽管后者可以通过如 Homebrew, MacPorts 之类的包管理器(回想 Gentoo 的 portage!)来管理安装开源的东东到 Mac OS 里,我还是更喜欢洁癖型的玩法:
  1. 保持我的 Mac 环境 100% 干净,不装任何不需要的东西
  2. 应该有个环境让我能:
    • 随便捣腾
    • 不爽了可以随时 revert
虚拟机成了完美方案,它相当于提供了隔绝于 Mac OS 的一个沙盒,里面跑着总共不过 1G 大小、内存分配 128M 的纯 shell 界面的 debian,但拥有所有我必须的工具,如 screen/vim/git/svn/wget,python 环境等。

首先 debian 的 apt 包管理器让我可以随便捣腾各种工具,例如不久前一次大瘦身就是把以前因项目需要而装的 Java/PHP/MySQL/Apache/Drupal... 统统干掉了。

虚拟机提供快照功能,让我可以保留几个配置好的状态-例如刚装完的无比干净的 debian 做一个快照,然后装了常用工具后一个快照,需要时,哪怕你装了 n 多东西,一键就可以回去。

同时,Parallels 的虚拟机工具装到 debian 里后,你可以很容易地把 Mac 的目录 mount 到 debian 里,成为一个自然的目录!

这就到我最后的一个小技巧-
  1. 所有的实际数据,如你宝贵的源文件,统统放在 Mac 的目录里,然后 debian 里编辑开发
  2. Time machine 自动备份所有东西,自然包括你的代码。所以你捣腾坏了虚拟机、恢复了快照,数据也高枕无忧
现在,我的典型开发就是:
  1. 启动 debian 虚拟机,最小化或丢到别的 Space
  2. Mac 里打开 Terminal,ssh 到 debian
  3. 运行 screen + vim 开发 Python/Django
  4. Mac 里用浏览器访问 debian 里的 http 服务
唯一多了的麻烦就是把一个 Linux 装起来,不过,在我们公司里的话,可以直接把我的虚拟机拷过去,超级省事。

No comments: