答案1
尽管我没有使用过 OS X,但我非常赞成基于软件包的配置,原因如下:
灵活性:数据库服务器、Web 服务器、负载平衡器、开发人员工作站、设计人员工作站。您是否会为每种类型都准备一个映像,还是会将所有内容都安装在任何地方?那么不同版本的软件呢?
安全性/可管理性:您多久更新一次映像?基于软件包的配置允许您从零开始更新每个新系统,方法是根据需要更新源软件包,而无需触及系统的其余部分。
如需更深入地讨论我的观点,请参阅“金色图像还是铝箔球?“文章来自卢克·卡尼斯的木偶名声。
[厚颜无耻地插入一句:Puppet 也适用于 OS X!]
[免责声明:我是长期的木偶用户。]
答案2
完成上述两步之后,我更喜欢(如果可以的话,我推荐)使用基于包的创建,因为它具有可重用性,并且能够使主版本保持最新状态,而无需一台专用机器或单片映像的持续开销。我发现手动或部分自动化的映像创建过程与几乎完全自动化的创建过程之间存在真正的差异。
设置基于软件包的系统的初始开销大于单片系统,主要是因为您有一些初始的大型设置,并且需要重新打包某些安装(例如 Final Cut Studio、Adobe 的任何内容等)。安装/运行脚本也有点棘手,因为它不是启动分区,但拥有一个从未启动过的干净映像的优势在于,它消除了创建单片映像时产生的冗余和奇怪的机器特定设置的缺点。
单片图像更简单(实际上更熟悉),并且允许设置图像的人在必要时使用 GUI 工具进行所有操作,并避免大量的脚本编写。
我个人使用 InstaDMG 制作基础映像,然后使用 DeployStudio 实际进行映像安装并添加附加包等。
答案3
我还建议使用 InstaDMG 从最新安装磁盘制作初始启动映像。然后使用 Deploy Studio 制作新机器的映像并添加一些标准包。
然后,我使用 puppet 部署特定于该机器或机器组的包,并确保按要求部署最新的更新。
我推荐 Jamf 软件作曲家重新打包非原生打包的应用程序。