工欲善其事必先利其器(一)—–虚拟机

作为一名程序员,大多数时候都是在自己熟悉的环境里工作,永远是熟悉的操作系统,熟悉的那个IDE,熟悉的那个环境,仿佛一切都那么自然。但是如果永远是这样的话, 那么生活就显得太安逸了,实际生活中我们总会遇到各种各样复杂的情况。比如说,我们常常在windows或者是mac下工作,但是有些时候服务器的环境往往都是linux,为了熟悉服务器上的环境,我们必须要去熟悉并且灵活这种工具。但是在现实生活中,拥有多台物理机的成本还是相对于普通人来说,还是比较昂贵的,这个时候使用虚拟机把现有的硬件进行虚拟化来达到拥有多台计算机的效果就显得十分有必要了。

使用虚拟机的情景

  • 宿主机是windows或者mac,想要学习linux或者是unix
  • 沙箱环境,构建一个和本机相同环境的沙箱,当需要运行一些可能对计算机造成损害的软件的时候,先在沙箱中运行检查软件是否有危害,而后迁移到本机上,保证计算机的安全性
  • 工作环境迁移,一个用的十分熟练的系统必定是经过自己打磨许久之后逐渐磨合的一个超级工具,装了很多熟悉的软件,到一个新的环境下 之后,重新安装上这些东西会非常的麻烦,但是如果选择在虚拟机里进行工作的话,就可以在任何地方迅速的搭建起熟悉的环境

虚拟机软件常见的种类

  • Vmware ,横跨windows,linux,mac各种平台(注:在mac下叫FUSION,其他平台一般叫WORKSTATION),性能强大,功能齐全,唯一不足的地方就是价格了,每个月$249.99,多0.01美金就是250了
  • Hyper-V, 微软的产品,采用hypervisor的技术,据说可以和Vmware比肩,优点非常明显,windows自带,直接开箱即用,但这也是最大的缺点,只能在windows下用。
  • parallels,mac用户的福音,mac下的专属软件,可以非常方便快速的在mac下执行windows软件,价格每年$79.99,不算很贵,缺点就是只能在mac下运行。
  • VirtualBox,我最钟爱的虚拟机软件,强大的跨平台能力,支持windows,linux,mac,solaris等各种平台,体积轻巧,并且开源信仰。

不一样的VirtualBox

尽管virtualbox在功能上来说,它没有vmware那么强大,并且对于windows用户来说没有内置的Hyper-v来那么方便快捷,但是它拥有的特性:开源,跨平台,对我来说都有着深深的吸引力,我觉得对于大部分人来说都是一个非常好的选择,而且如果使用vagrant的话,就更能体会到它的优势所在了

  • 获取virtualbox

virtualbox的安装包可以在virtualbox的官方下载页获得

ubuntu用户可以通过apt工具来获得

sudo apt update

sudo apt install VirtualBox-5.2

centos用户可以直接通过yum工具来获得

yum install VirtualBox-5.2

使用virtualbox需要注意的地方

  • 虚拟硬盘,使用virtualbox创建虚拟硬盘的时候有三个选项,分别是VDI,VHD,VMDK,其中VHD是微软虚拟磁盘文件,一般应用于virtual PC,而VMDK则是由vmware创建的磁盘,如果创建这种磁盘可以共享给vmware使用,而VDI则是virtualbox自己创建的虚拟硬盘了,如果没有特殊需求的话,只要选择VDI类型的磁盘就可以了
  • 网卡,在virtualbox中的网卡有6种,分别是网络地址转换(NAT),NAT网络,桥接网卡,内部网络,仅主机(host-only)网络,通用驱动。

网络地址转换和NAT网络的区别并不是很大,都是把主机当成路由器来使用,同一网段下的多个虚拟机之间可以相互访问,并且虚拟机能访问到外部网络,包括互联网

桥接网卡则是把虚拟机当成局域网下一台真实的主机一样使用,使用桥接网卡的虚拟机可以使用宿主机相同网段的ip地址,并且可以让局域网下其他的计算机访问到

内部网络是虚拟机自成网络,虚拟机内部可以互相通信,但是不能对外,也不能访问互联网

仅主机网络,相当于用一根网线把虚拟机和主机连接起来,相互可以访问,但是如果需要访问其他地方的话,则需要其他配置

多种网卡有所区别,但是在virtualbox中是可以配置多块网卡的,所以使用还是非常方便的

使用virtualbox可能遇到的问题

  • 虚拟机不能全屏

virtualbox的安装目录下,有名为VBoxGuestAdditions.iso的镜像文件,这是virtualbox的增强工具,只有安装了增强工具的虚拟机才能使用文件夹共享,目录同步,虚拟机全屏等一些扩展功能

  • 不能选择64位操作系统的虚拟机

造成这个原因的极有可能是,在bios没有开启cpu的虚拟化功能,修复这个操作需要进入到bios开去cpu 虚拟化,不同的硬件厂商标准不一样,这里不多介绍

  • 虚拟机中复制的文件或者文字不能粘贴到宿主机

打开虚拟机设置,在常规选项》高级, 启用共享剪切板和拖放功能

  • 虚拟机卡顿不流畅

需要多分配一些内存给虚拟机,虚拟机和真实的电脑差不多,也是需要消耗计算机资源的

结语

如果用来学习多个操作系统的话,除了选择虚拟机之外,还可以使用双系统,双系统的优势是两个操作系统都可以享受完整的计算机cpu和内存等资源,而且互不干扰,缺点就是两个系统不能同时启动,而使用虚拟机的话,那就意味着你的电脑配置相对来说需要好一点。如果计算机的配置不是很高的话,还是推荐使用双系统。

发表评论