我写了一个学术软件,有许多第三方软件依赖关系(并需要RDBMS)。 我想创build一个预先安装了所有必要的依赖项和用户帐户的Linux虚拟机映像,以便我的用户可以下载和试用我的软件,而无需安装所有的依赖关系。
什么是最好的方式来做到这一点,我应该使用什么样的虚拟机文件格式?
就我个人而言,我会提供Virtualbox和VMWare格式,因为Virtualbox是免费的,VMWare的播放器是免费的,支持和stream行。
你最好的办法是什么意思? 如果您的意思是提供给用户,您可以随时创buildCD / DVD并通过邮件免费提供和/或通过CDN或个人网站提供; 你没有提到你有什么资源可供你使用。 你有一个网站吗? 这是企业的一部分吗? 这是一个侧面的爱好吗?
结果图像会有多大? 他们压缩了吗?
这可能是一个受欢迎的下载,可能会使您的网站紧张或税收与您的提供商有任何转让限制?
根据您的目标受众的精明程度,您也可以通过BitTorrent提供帮助,以减轻networking上的压力(或者如果您可以与其他网站达成协议,则可以将其作为种子网站分发给他们)。 您甚至可以将异地托pipe的图像提供给专门托pipe大型文件的公司,因此您不必担心大型文件的内容交付。
这种问题可以归结为一个问题,即您可以获得哪些资源,以及最终用户对于如何详细阐述最终用户试用产品的要求有多了解。 有些人可能不喜欢下载单独的产品来试用虚拟机。 其他系统pipe理员可能已经安装了VMWare或VMWare播放器或Virtualbox。
您可能想要查看OVF ,这是最有可能成为虚拟设备行业标准的有力竞争者。 它主要由VMware和VirtualBox支持,这两个平台都可能是您想要的目标; Xen在XenServer中受支持,而RHVM则支持KVM,对底层pipe理程序产品的本机支持仍然即将推出。
您是否知道您的用户可以访问某个特定的虚拟机pipe理程序? 这会有很大的帮助
一个远离免费的方法是使用VMWare的ThinApp系统打包一个虚拟机,并将其与一个光pipe理程序捆绑在一个.exe文件中 – 这对用户影响非常小,但是花费不菲。
为了这个目的,我宁愿避免使用虚拟图像。 考虑使用Puppet而不使用主/angular色。 (或者厨师 ,或者任何其他的select)然后,你只需要在一个文件中发送你需要的规格。
你唯一需要提供的就是你的Puppet类和一个示例节点定义。 然后告诉用户在其中一个支持的操作系统上安装Puppet代理并运行
puppet apply myapplication.pp
优点:
缺点: