Mac下Virtualbox使用小结

作者: dplord, 访问量 994





因为工作原因,使用Mac机器。但是以前一直用linux,熟悉上面的各种开发环境。Mac由于是Unix系列,挺多开发环境挺好的。但是还是蛮多库、项目、编译没有那么方便。自己在virtualbox下改了一个opensuse text mode虚拟机,并设置了share folders, 可以在mac下的IDE下编辑建立在mac跟virtualbox的linux虚拟机的share dir的项目,然后在terminal下进入linux虚拟机,命令行编译跟处理。这样可以一个机器,无缝使用多个环境。下面讲解下virtualbox的几个要设置的地方。

1、安装virtualbox以及准备几个需要用的文件

要下当前最新的同一版本、最新的软件。

我下载的为

  • VirtualBox-5.0.14-105127-OSX.dmg
  • Oracle_VM_VirtualBox_Extension_Pack-5.0.14-105127.vbox-extpack
  • VBoxGuestAdditions_5.0.14.iso

2、设置正确的网络链接方式

默认的网络连接方式是『网络地址转换(NAT)』, 我需要的是内部linux guest主机,需要既能连接外网,同时也可以在外部mac host机器上,ssh通过内网连接linux guest。默认网络如图

QQ20160310-0@2x内部网络如图

QQ20160310-1@2xip是nat出来的网址10.0.2.15, 跟我的mac host不在一个网段,无法ssh连接。

需要创建一个处于同一网段的网络,因此做了如下操作

① 在virtualbox偏好设置里面添加一个host-only网卡,名字为vboxnet0

② 给该linux host的第二网卡上,绑定刚创建的vboxnet0 的 host-only 网卡

③ 在linux-guest里面,ifconfig查看还是一个网卡,手动编辑

touch /etc/sysconfig/network/ifcfg-eth1

写入以下内容

BOOTPROTO='dhcp'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME=''
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
DHCLIENT_SET_DEFAULT_ROUTE='yes'

然后reboot,查看后就可以看到有eth1的网卡了, ip是192.168.56.101,可以在mac host用ssh连接。因为这个网络是dhcp分配的ip的,为了方便把vboxnet0网络,dhcp ip地址段设置为一个固定ip, 如图:

QQ20160310-4@2x以后在mac host, 每次ssh dengpan@192.168.56.101, 即可连接该机器。可以在bashrc做一个alias。

3、设置共享文件夹

① 挂载VBoxGuestAdditions_5.0.14.iso 到linux guest

② mount /dev/cdrom /mnt

③ cd /mnt  && ./VBoxLinuxAdditions.run –nox11 (因为我的是opensuse text mode,没有图形界面的)

④ 在virtualbox的设置界面设置share dir并设置自动挂载, 然后reboot, 就可以再/media 看到你的文件夹了。

4、virtualbox的备份、恢复

virtualbox比较好用的一点是,可以备份整个硬盘,然后把几十G的「虚拟硬盘.vdi 」拷贝到移动硬盘留着,在任何系统安装完了virtualbox挂载该「虚拟硬盘.vdi 」即可开始使用了。后面可以开virtualbox-linux, 开始无缝使用自己要用的工具了。在MAC下的IDE编辑项目,ssh连接到linux shell下编译、处理,网络都是共享的。使用比较便捷,而且不卡,符合我的预期。