单片与基于打包的图像创build

制作Mac磁盘映像的经过实践validation的方法是,在您拥有的最新Mac硬件上完美地设置您的软件,删除一些不必要的文件,并创build一个(单片)映像。

基于软件包的图像创build(特别是使用InstaDMG , 也可能与卡斯帕套件以及其他可能的工具)已经有一段时间了,而且据说更好。

有经验的人都可以回答哪种方式更好,为什么? (或者客观地说,你更喜欢哪个?为什么?)

虽然我没有使用OS X的个人经验,但是由于以下与操作系统无关的原因,我非常喜欢基于软件包的configuration:

  • 灵活性:数据库服务器,Web服务器,负载平衡器,开发人员工作站,devise工作站。 你会有一个每个types的图像或安装到处都是? 那么不同版本的软件呢?

  • 安全性/可pipe理性:您多久更新一次图像? 基于软件包的configuration允许你从零开始使每个新系统保持最新状态,根据需要更新源软件包,而无需触及系统的其余部分。

为了更深入地讨论我的观点,我把你的傀儡名声的卢克Kanies的“ 黄金形象或箔球?

[无耻插件:Puppet也可以在OS X上运行!]

[免责声明:我是一个长期的木偶用户。]

做完了这两个,我更喜欢(并build议如果可以的话)使用基于包的创build,因为它的可重用性和能够保持一个掌握最新的,而不需要一个专用的机器或恒定的图像的开销。 我发现真正的区别在于手动或部分自动化的图像创build过程与几乎完全自动化的创build过程之间。

build立一个基于软件包的系统最初的开销不仅仅是一个单一的系统,很大程度上是因为你有一些最初的大型设置,需要重新打包某些安装(例如Final Cut Studio,Adobe等等)。还有一点点因为它不是启动分区,所以安装/运行脚本比较棘手,但是在创build单片映像时创build了一个从未启动的干净映像的优点,可以消除cruft和奇怪的机器特定设置的缺点。

单片图像更容易(实际上更为熟悉),并允许设置图像的人员在必要时使用GUI工具,避免大量的脚本。

我个人使用InstaDMG来制作我的基本映像,然后使用DeployStudio来实际执行映像安装并添加额外的软件包等。

我也可以推荐使用InstaDMG从最新的安装盘创build初始引导镜像。 然后使用Deploy studio来镜像新机器并添加一些标准软件包。

然后,我使用puppet部署特定于该机器或机器组的软件包,并确保根据需要部署最新的更新。

我build议Jamf软件的Composer重新打包非本地打包的应用程序。