The package program uses system-independent prototype files to define a standard disk configuration; a prototype file indicates which files reside on the local client disk, which files are links into AFS, etc. The prototype files are then compiled into configuration files for each different system type.
Not all client machines have the same configuration. If desired, you can create different prototype files for different client functions (print server, regular client, etc.).
The package program compares the contents of a local client disk with the configuration file. If there are any differences, the package program makes the necessary updates to the local disk by copying the files from AFS onto the disk. The package program can also be configured to delete files that are not part of the system configuration or automatically reboot the client when certain files (such as the dkload file) have been updated.
The package program does require that you take some time to prepare the prototype files, but it provides the following benefits:
You no longer need to configure each machine individually; the prototype configuration file applies to all machines.
You can change the configuration of machines simply by changing the prototype file and rebooting the clients.
Disk organization is uniform across a set of machines.
The configuration files serve as a record of files on the disk and symbolic links into AFS.
While the package program was designed for use on client machines, it can also be used to configure a file server machine's disk. However, if any of the files referred to in a configuration file reside in volumes on the file server, the package program cannot access the volumes during reboot (and until the File Server process and Volume Server process start up again).
Since the package program aborts when it cannot access a file, you need to eliminate references to files in AFS that reside in volumes on the file server machine. Because of these constraints, the remainder of this chapter assumes the package program is being used for client configurations.