Option Directories -- Workstation Customizations

One of the advantages of the link-based opt export technique we describe in this document is its flexibility. In addition to the "vanilla" workstation we describe elsewhere, many other configurations are possible.

Local Directories

One example might be a web server machine. Depending on circumstance (such as ours), developers might have occasion to log onto the web server machine, and would want the complete suite of opt tools to be available there just like any other workstation. However, the web server program itself doesn't need to be exported to other workstations on the network. Also, the web server program and other supporting packages need to be available locally, so that the server can ride through local node or network outages.

In this case, it makes sense to create local subdirectories in the web server machine's /opt directory containing the critical packages needed for its operation:

[customized workstation #1]

In practice, we typically build all packages on our master opt node; for those packages which do not need to be exported to the rest of the network, we simply do not create the pkg/appname link in the master opt directory for them. We then copy the application directory trees verbatim to the machines which require them. This requires care when updating such packages--keep careful track of where the directories are propagated.

Alternate Servers

Another customization which has proved useful is that of "alternate" opt server nodes. These might be used for reasons of performance, configuration, authorization, limited storage space, or many other purposes. In this example, the workstation gets most of its tools from the normal master opt node, but its graphics tools are provided by an alternate node. This alternate is structured exactly the same as the master, but in this case it exports different packages:

[customized workstation #1]

Multiple identical master nodes can also be used, for load balancing as an example. Half of your machines could use node "A" and half use "B", etc. However, the more variations you create from the "vanilla" model, the more exceptions you must keep track of. Ensure that the need is strong, and that it can be solved in no other way, before you make an exception.


Last modified: Wed 5 Nov 1997