Package Overview

There are three main steps to follow before running the package program:

  1. Preparing function-specific prototype files (and any included library files).

  2. Modifying the package Makefile and compiling prototype files into system-specific configuration files.

  3. Modifying client machines to run the appropriate package configuration file automatically.

The following sections summarize these steps.

Preparing Prototype Files

Begin by listing the different functions or roles client machines perform and the local disk configurations that support those functions. Example roles include a standard client that provides AFS access, a print server that drives a printer, and a backup machine on which you issue commands from the backup suite. Create a different prototype file for each role.

A prototype file defines the disk configuration that supports a specific role. Usually, prototype files are function-specific, but system independent; system-specific values can be defined using variables and library files. Then, when you modify a variable or library file, the change gets propagated to all appropriate clients when the package program is invoked.

Methods for building flexible prototype files that are easy to maintain are presented in Example Prototype and Library Files.

Compiling Prototype Files

Prototype files are usually system-independent, but can include ifdef statements to satisfy the needs of different system types. The prototype files are compiled to generate operating-system specific versions. During compilation, the package program selects the definitions suitable for each system type and replaces any variables with actual values. These compiled, machine-specific files are called configuration files.

Prototype files are compiled using a standard-type Makefile file, as described in The Package Makefile File.

Preparing Clients

Once system-specific configuration files exist, the package program is ready to run on the clients. You must first make the package binary available and specify the correct configuration file.

Modify the clients as described below:

  1. Create a .package file in the root ( / ) directory of each client's local disk that defines the default configuration file.

  2. Make the package binary (/etc/package) available on the local disk.

  3. Modify the machine's initialization file (/etc/rc or equivalent) to include a call to the package program.

These steps are discussed more completely in Modifying Client Machines.