8.3.7 虚拟工具

虚拟机为长期困扰用户(特别是使用开源软件的用户)的问题提供了一种有趣的解决方案:如何安装新的应用程序。问题在于很多应用程序依赖于其他的程序或函数库,而这些程序和函数库本身又依赖于其他的软件包等等。而且,对特定版本的编译器、脚本语言或操作系统也可能有依赖关系。

使用虚拟机技术,一个软件开发人员能够仔细地创建一个虚拟机,装入所需的操作系统、编译器、函数库和应用程序代码,组成一个整体来运行。这个虚拟机映像可以被放到光盘(CD-ROM)或网站上以供用户安装或下载。这种方法意味着只有软件开发者需要了解所有的依赖关系。客户得到的是可以正常工作的完整的程序包,独立于他们正在使用的操作系统、各类软件、已安装的程序包和函数库。这些被包装好的虚拟机通常叫做虚拟工具(virtual appliance)。