Evaluating Solutions


The solution to these challenges is to develop upgrade plans that are similar to the initial deployment plans. These plans need to incorporate a great deal of testing and staging work that precedes the upgrading of the hardware or updating of the software.

Imaging the Computer

Mac OS X v10.4 and Mac OS X Server v10.4 include software to store and deliver disk images, letting you install the operating system, applications, and documents on those disk images and configure them as startup volumes. You can use this flexible solution to provide remote startup of computers, restore a volume, install software, or run diagnostics. A properly maintained set of disk images lets you quickly bring systems back to a clean state, or efficiently configure new systems with a base set of applications and files. Without third-party software, however, these disk images alone do not provide rollback.

As shown in the following figure, whether the image to be placed on the computer comes from a preexisting disk image pushed from a server, a server-based network install, a server-based network bootable image, or a local disk image, the process of replacing what is on the local volume is paramount.

Packaging Certain Files

In Mac OS X, packages are a common means of delivering new software, software updates, scripts, and collections of documents. They are, in effect, documents for the Installer application, which resides in the /Applications/Utilities/ directory. Each package includes the items to be installed, the target locations for each item, and the information to be presented during the installation process.

When installing packages, it is better to have several small packages and group them together into one large package, as shown in the following figure. This enables the administrator to have several combinations of larger packages that are, in effect, nothing more than collections of smaller packages. The benefits far outweigh any additional time involved in creating the smaller packages. When planning your deployment scenario, the best solution is to have one small base image and packages for everything else. Doing so makes it easier to troubleshoot images that contain newer versions of the operating system.

Moreover, packages can be linked together in metapackages. When a metapackage is run by the Installer, the metapackage identifies which packages the Installer needs to reference and install to complete the entire installation. As an option, a list of packages available for installation can be presented and the user can select which ones to install. Packages provide a quick, standard way of distributing applications and documents. One of the applications used to make packages is PackageMaker, which is included when you install the Apple Developer Tools. There is also a third-party tool, called Iceberg (WhiteBox; http://s.sudre.free.fr), that creates packages and metapackages.

Updating Regularly

There are several tools for keeping your systems regularly updated. Mac OS X includes Software Update , located in /System/Library/CoreServices/ and available from the command line as softwareupdate. It is generally launched from the Apple menu or System Preferences. Software Update finds and displays updates for the operating systems and Apple applications, such as iCal, iTunes, and iSync.

The Software Update application, shown in the following figure, will list all updates pertinent to the operating system on the computer, the hardware inside the computer (such as AirPort or Bluetooth), and the computer itself, such as firmware updates based on the type of computer.

In addition, Mac OS X Server provides a software update service that can mirror the Software Update servers at Apple. With it, you can stage your updates after you have done testing with your particular environment. Rather than downloading updates directly from Apple, your users download the update from a software update server on your local network. A local software update server provides a good solution for closed networks, since you can keep a local software update server inside your firewall. It also lets you deploy only updates that have first been thoroughly tested against your own unique configuration of software and hardware. When you run a Software Update server, almost all available updates are downloaded to the server and listed in the window within Server Admin, as shown in the following figure.

The Research Systems Unix Group at the University of Michigan has developed a tool called Radmind Assistant for Mac OS X. This utility is designed around the Radmind Unix command-line tools to remotely administer the various systems of client files. You can configure it to detect any changes to a managed computer's file system, keep track of those changes, and, if necessary, roll back the changes to a previous loadset, which is a Radmind term for each version of changes in a file system. This is, in effect, what free, downloadable software known as tripwire does by keeping track of all files on a computer (via checksum values) and notifying the user when any of those files change (open-source tripwire software is freely available from many sources on the Internet).

In an environment where the individual users make many changes to the systems they are currently logged in to, you can use Radmind Assistant or tripwire software to keep track of the state of any computer at any time. As you deploy updates to the operating systems, applications, or other critical files, you have a record of the changes that were made and can roll back the software to a previous state, should an update not work as expected.

It's an excellent solution to mass deployment testing. Say you want to test the latest update, so you send it out to ten different computers with different hardware configurations. Should any of the users have issues, you can simply roll back the machine to a previous loadset.

Radmind provides better scalable update and rollback features than other deployment solutions, and Radmind is free! (For more information, go to http://rsug.itd.umich.edu/software/copyright.html.)

In the following figure, Radmind shows several different loadsets that can be deployed to any number of given computers, depending on the need that particular day. For example, if the computer were used for a programming class, perhaps a loadset with all the developer tools would be wise. Then, when someone needed word-processing software, a smaller loadset with just that software could be deployed to the computer.

Apple also provides other tools for maintaining your systems. Apple Remote Desktop (ARD) is a remote management tool that can be used to report on the state of computers, deploy changes to those computers, or remotely control those computers. The ARD client software is already built into every installation of Mac OS X and Mac OS X Server. You purchase the administration software separately.

One big advantage of using ARD is that it allows for the gathering of information from each computer system in an overview report like the one shown in the following figure. The information can be a list of all the applications on each system, the hardware configuration of each system, or a comparison of the selected computer systems showing just exactly what is different on each one.

In a corporate or enterprise environment, ARD gives you a tool for quickly reporting on the state of your computers and for deploying changes. If, for instance, you have a new set of templates to use for business communications, you can copy those files to any computer you choose from the list of managed computers.

In education environments, you can use ARD to control how the computer is used. Instructors can monitor the progress of each student by viewing students' screens or lock students out of the computers in front of them during a lecture.

You can also use it to set the boot volume from which the computer starts up to change the learning environment between classes, such as changing it from a local volume to a NetBoot volume.

In desktop publishing, you can use the copy command in Apple Remote Desktop to deploy printer drivers, ppd files, and fonts to the computers in your design and production groups. By specifying the locations of the files on the destination computers, you can stage tests on your local computer to ensure compatibility and functionality. Apple Remote Desktop 2.2 does not support rollback.

Other options for testing and deploying software are: Eggplant (http://www.redstonesoftware.com), which is to test updates and images, and to test entire workflows and processes on a variety of operating systems; Deep Freeze (http://www.faronics.com/html/deepfreeze.asp), which can automate the management of all deployed computers, among other uses; and FileWave (http://www.filewave.com/top.html), which allows for asset management and patch deployment and rollback.

Overall Deployment Planning Synopsis

Understanding the bigger picture will assist you in your quest for the best deployment solution. If you keep a few key points in mind throughout the entire process, you will emerge with a much clearer picture of the necessary pieces of deployment. Keep in mind that you must start with a planbased on your organization's needsthat often requires layouts, lists of hardware and software requirements, and current and planned software licensing.

Create the base image with little or no customization, and then create packages to add to the base image. Parallel the creation of the image and packages with continuous testing and use one of the many available tools to automate the process of testing packages and workflows. Once individual packages have been created, assemble metapackages and utilize a method of differentiating the base image and initial packages from different system versions.

Finally, decide how the images will be placed on the computers. All of this requires continuous testing to insure new hardware and software will work when rapidly deployed.




Apple Training Series(c) Mac OS X v10. 4 System Administration Reference
Apple Training Series: Mac OS X v10.4 System Administration Reference, Volume 2
ISBN: 0321423151
EAN: 2147483647
Year: 2006
Pages: 128

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net