2

The tried-and-true way of making Mac disk images has been to set up your software perfectly on the newest Mac hardware you have, delete some unnecessary files, and create a (monolithic) image of it.

Package-based image creation (notably using InstaDMG, and also possible with the Casper Suite and likely other tools) has been possible for a while now, and it purportedly better.

Can anyone with experience with both answer which way is better, and why? (Or, less objectively, which do you prefer and why?)

Clinton Blackmore
  • 3,520
  • 6
  • 36
  • 61

3 Answers3

4

While I do have no personal experience with OS X, I am very much in favour of package-based provisioning due to the following OS-independent reasons:

  • Flexibility: database server, web server, load balancer, developer workstation, designer workstation. Would you have an image for every type or install everything everywhere? What about different releases of software?

  • Security/Manageability: How often would you update your images? Package-based provisioning allows you to have every new system up-to-date from day zero, by updating the source packages as needed, without having to touch the rest of the system.

For a more in-depth discussion of my point, I refer you to the "Golden Image or Foil Ball?" article by Luke Kanies of puppet fame.

[Shameless plug: Puppet works on OS X too!]

[Disclaimer: I'm a long-time puppet user.]

David Schmitt
  • 2,185
  • 2
  • 15
  • 25
2

Having done both I prefer (and recommend if you can) to use the package based creation because of it's reusability and the ability to keep a master up to date without requiring one dedicated machine or the constant overhead of a monolithic image. I find the difference really goes between a manual or partially automated image creation process versus a nearly fully automated creation process.

The initial overhead of setting up a package based system is more than a monolitihic system largely because you have some initial large setups and the need to repackage certain installations (eg. Final Cut Studio, anything Adobe, etc.) It's also a little bit more tricky to install/run scripts as it's not the boot partition but the advantage of having a clean image never booted before removes the downsides of cruft and odd machine specific settings have been created when you create the monolithic image.

A monolithic image is easier (more familiar really) and allows the person setting up the image to use GUI tools for everything if necessary and avoid a lot of scripting.

Personally I use InstaDMG to make my base image and then use DeployStudio to actually do the imaging installation and add the additional packages, etc.

Chealion
  • 5,733
  • 28
  • 29
0

I can also recommend using InstaDMG to make the initial boot image from your latest install disks. Then use Deploy studio to image new machine and add some standard packages.

I then use puppet to deploy packages specific to that machine or machine group and to ensure the latest updates are deployed as required.

I recommend Jamf software's Composer to re-package non-native packaged applications.

mrowell
  • 326
  • 1
  • 4