VirtualBox 在 Windows 上的表现实在难以令我满意,搜了一下老牌虚拟机 Vmware,惊喜的发现 Vmware Server 已经免费了,与 Vmware Workstation 的主要区别是,VMS 可以通过 Vmware console 远程管理虚拟机,VMW 则是针对单机的产品,但它为虚拟机提供了更多的硬件特性,这对我不重要,另外,VMS 只有 100 多兆,VMW 高达 500 多兆。
我的主要目的是在虚拟机上装一个没有 X 的 Linux,然后在 Windows 上用 SSH 登录,我的第一号候选系统是 Ubuntu Server,在 Ubuntu 网站下载的时候意外的发现了精简版的 Server 版 —— JeOS (Just Enough OS),这个东西是专门为 VMWARE 优化的,更美的是才 100MB,系统只包含了基本工具,这就是我想找的系统!
VMS 创建虚拟机跟 VMW 是一样的。装完成 JeOS 后我启用了 SSH 服务,然后就可以关掉 VMWARE Console 了,用 PuTTY 登录 JeOS!
Vmware Tools 是一套给虚拟机提供服务的 Linux 软件,安装它需要下载 Linux 的构建工具和内核源码,教程可以看 Ubuntu 的帮助文档,下载完内核源码以后记得在 /usr/src/local/ 中建立一个 linux 的符号连接。
JeOS 中默认的 Vim 是个极精简的版本,完全无法满足我的要求,恰好 Vim 7.2 正式发布了,下载了 Vim 源码,修改 src/Makefile 调整 Vim 的某些模块,JeOS 没有没有 X,去掉了所有跟 X 相关的模块(clientserver 没法用了),由于没有图形的依赖,编译出来的 Vim 比 Ubuntu 源里的 vim-full 快了不是一点点。
其它方面 JeOS 与 Ubuntu 无异,易用性做的非常好,现在只有一个小问题就是 apt-get 的 autocomplete 功能无法使用,远没有 Ubuntu 上的方便,正在考虑解决方案。
作为一款开源软件,VirtualBox 完全继承了开源软件糟糕的用户体验,想正儿八经的用起网络来可真不简单。
默认情况下 GUEST 系统使用 VirtualBox 提供的 NAT 服务连接网络,这种方式的“神奇”之处是有的服务(HTTP)可以用,而有的(ICMP)无法使用,要真正正常地使用网络,需要在 VirtualBox 的网络设置 Host Interface 方式连接:
首先在网络设置界面中添加一个网络接口,这个接口会作为一个虚拟网卡出现在 Windows 控制面板的网络连接设置中,同时选中这个虚拟网卡和一个可用连接,点右键选择桥接,这个操作会造成 Windows 的网络设置丢失,需要你重新设置,另外虚拟网卡和可用连接会显示为连接断开,不用管它,网络通信是正常的。最后进 GUEST 系统,将网络地址为 HOST 系统的子网内地址:
ifconfig eth0 10.0.0.100.8
route add default gw 10.0.0.1
echo nameserver 10.0.0.1 > /etc/resolv.conf
测试一下,发现 HOST 和 GUEST 之间可以 Ping 通了。