- Understanding System Image Creation
- Integrating with Managed Preferences
- Customizing System Configuration
- Cloned Image: Overview and Preparation
- Cloned Image: Clean Up System
- Cloned Image: Create Restore Image
- Understanding System Image Utility (SIU)
- Creating Basic Images with SIU
- Modular Image Overview and Preparation
- Understanding SIU Workflows
- Building Modular NetRestore Images with SIU
- What Youve Learned
- Review Quiz
Modular Image Overview and Preparation
The workflow for creating a modular system image suitable for deployment is a bit more involved than what is needed to create a cloned system image. However, as you’ll see, this technique yields cleaner system images and an easier upgrade path and is easy to automate.
Understanding Modular System Images
A modular system image is a disk image that uses installation packages for every item and setting in the configuration to create a fully customized Mac OS X system. That is, instead of installing the operating system and all your custom software and configurations to a booted Mac system, you install these items directly to a disk image.
The use of installation packages for every item and setting in your system configuration results in a truly modular system image creation workflow. The only requirement is a base system image with an installation of Mac OS X. After that you can add as many more installation packages as you want to your system image. This allows you to easily create multiple system images by simply adjusting the number of installation packages applied to the image during the creation process. Further, updates and configuration changes are easily handled by adding installation packages to your creation workflow.
The workflow to create a modular system image can be split into two primary stages, each with several steps. In the first stage, the preparation stage, you collect or create the installation packages that you will use to build your modular system image. There is no particular order or even an end point to this stage, as you will continue to add installation packages as your needs change and as your software needs updating. Most of your time will be spent in this stage locating or creating the appropriate installation package modules.
In the second stage, the build stage, you actually create the system image using the installation packages you prepared during the first stage. With previous versions of Mac OS X the build stage must be performed manually or using a third-party tool. The Mac OS X v10.6 version of SIU, with the introduction of NetRestore, provides an automated mechanism to easily build modular system images. This build process is covered in the “Understanding SIU Workflows” and “Building Modular NetRestore Images with SIU” sections later in this chapter.
To build a modular system image, all you need is one Mac OS X v10.6 system with access to enough storage space to contain all your installation packages and disk image files.
Nevertheless, the use of a separate scratch drive will speed up the modular system image creation process. In this scenario, your installation packages are stored on your primary drive, and during the SIU build process you save the image on the scratch drive. This method ensures that while the system image is being built, one drive is always reading while the other drive is writing, thus maximizing drive bandwidth and reducing build time.
Preparing for a Modular System Image
Before you begin building a modular system image you need to prepare a collection of installation packages that includes the Mac OS X v10.6 installation, any software updates, any additional software, and any custom configuration installation packages. Once you have prepared all the installation components that will make up your modular system you can move on to the build process using SIU.
Preparing the Mac OS X v10.6 Installation
All system images must include an installation of Mac OS v10.6. However, by default, the system installation process isn’t conducive to the modular system image workflow. The primary issue is that the Mac OS X installation usually resides on inconvenient media: an optical disc. You will need more frequent access to this installer, so you should create a disk image of the Mac OS X Install DVD or the Mac OS X Server Install Disc.
As you learned in Chapter 2, “Deploying Individual Items and Containers,” it’s fairly easy to create a disk image using the contents of a folder or volume. In the graphical interface, you can use the Disk Image application, or at the command line you can use the hdiutil command.
Preparing Additional Software and Updates
Preparing additional software and updates can be easy or difficult depending on what additional items your modular system image requires. The key is that all additional items must be added to your modular system image through an installation package. All Apple software and many third-party items are distributed this way, so preparing these items is as simple as collecting all the necessary installers in a convenient location on your build system.
However, third-party items distributed using simple file containers or non-Apple installers will need to be repackaged inside a custom-built installation package, as outlined in Chapter 3, “Deploying with Installation Packages.” Specifically, the PackageMaker snapshot technology can help you easily repackage third-party items.
You can use your build system to create these installation packages, but a better option is to use a second dedicated “clean” system for building and testing your custom installation packages. During the testing process, you will undoubtedly come across installation packages that don’t deploy as expected. Use the techniques covered in the “Installation Package Maintenance” section of Chapter 3 to inspect and troubleshoot problem installation packages.
Creating Configuration Installation Packages
For most administrators the process of creating configuration installation packages is the most difficult and time-consuming step of the entire modular system image workflow. Essentially, you have to research and develop a payload or script to be built into an installation package, which performs all the custom configurations, including configuring system settings, creating users, and configuring any user-specific settings, that you would normally do manually to a model system.
It’s possible to set any Mac OS X configuration by using the appropriate command or by replacing the appropriate file as illustrated previously in the “Customizing System Configuration” section of this chapter. Nearly all the customizations presented earlier can be automated and made part of an installation package. Exploring all the possible configuration options that can be automated is beyond the scope of this text, but the following references (all from Peachpit Press, 2010) should get you started:
Apple Training Series: Support Essentials v10.6—Specifically, Chapter 3 of this guide includes a command-line and scripting primer.
Apple Training Series: Mac OS X Directory Services v10.6—This is a comprehensive guide to both local and network directory services and user accounts in general.
Apple Training Series: Mac OS X Security and Mobility v10.6—This is a general guide to advanced Mac OS X and Mac OS X Server configuration.