我在 Windows 上遇到的一件事是,当您正在开发的 Web 浏览器插件或程序假设安装了默认情况下并不总是存在于 Windows 上的某些内容时。一个完美的例子是 .NET - 很多运行 Windows XP 的人从未安装过任何版本的 .NET,因此安装程序需要检测并在必要时进行修复。
我在 Windows 中测试这一点的方法是拥有一个虚拟机,其中包含 XP、Vista 或 7 或其他版本的干净、已修补但未受影响的安装快照。当我完成测试时,我只是放弃自快照以来的所有更改。效果很好。
我现在正在为 Macintosh 开发一些东西,这个平台对我来说非常新,而且我发现虚拟化似乎不是一个选择。它在 Mac OS X 的 EULA 中被明确禁止,仅在 Mac OS X Server 中允许,这对于我来说是针对最终产品的,而我看到的一个可以虚拟化它的程序 - VirtualBox - 只支持服务器并积极阻止任何关于运行 Mac OS X 消费者/客户端版本的讨论。我在该主题的任何地方找到的唯一说明似乎涉及使用“黑客”程序,这与完整的操作系统非常不兼容。 -我正在努力做这件事。
因此,看起来虚拟化已经过时了,但在不同的情况下,我想要或需要模拟在“干净的”Macintosh 上安装和运行该软件的感觉。人们通常如何做到这一点?只需购买多台 Macintoshes 并使用 Time Machine 即可?我是否认为这一切都是错误的,一切都正常?
需要明确的是
- 我不想在 Windows 机器上运行 Mac OS X。我有一台 Macintosh,我很喜欢在 Apple 硬件上虚拟化 Mac OS X,我只是没有看到让非服务器版本执行此操作的方法。
- 我知道 Mac OS XServer可以虚拟化,但这不是我想要的。
- 我知道有一些未经批准/不受支持的方法可以使 Mac OS X 在 VirtualBox 等虚拟化程序中运行,但出于法律原因,我对这些不感兴趣。
- 我的问题不是“我该怎么做?”而是“所以我在 Windows 上做的这件事通常在 Macintosh 上似乎是不可能的,那么人们会做什么来实现我想要的目标呢?”
当我坐在这里,我的工作机器上有无数版本的各种 Windows 虚拟机时,我在 Mac 上从来没有真正需要它。最大的原因是应用程序在 Mac 上捆绑部署的方式。理想情况下,安装是复制,卸载是将应用程序拖到垃圾箱。在 Windows 上,应用程序之间有更多的共享状态,必须考虑到大多数应用程序在 Mac 上没有的共享状态。现在,如果您正在编写设备驱动程序或 VPN 客户端或需要进入系统这些部分的东西,那么您就没有那么奢侈了。
我真正觉得需要虚拟化的地方是当我想要针对不同版本的 OS X,或者进行某种回归检查以查看在 X.Y.X 版本下情况是否确实有所不同时。
那么我们如何实现您想要的目标,默认是不关心,因为您不会因为应用程序包而面临相同的风险。或者,如果您愿意,可以购买一堆外部硬盘驱动器来启动并根据需要更换它们。 (我只在两个版本的 OS X 上这样做过一次,所以我不能说这真的是行业惯例。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)