The @sys Variable

The @sys variable is expanded to the name of a CPU/OS type. The cm sysname command sets and displays the current value of the @sys variable. The following examples show how the Cache Manager interprets the same pathname differently, depending on the value of @sys.

On a machine running OSF/1:

$ cm sysname

Current sysname is `pmax_osf1'

$ cd /.../abc.com/fs/@sys
$ pwd


/.../abc.com/fs/pmax_osf1

On a machine running AIX 3.2:

$ cm sysname

Current sysname is `rs_aix32'

$ cd /.../abc.com/fs/@sys
$ pwd


/.../abc.com/fs/rs_aix32

The @sys variable is commonly used in symbolic links from a DFS client machine to a fileset in the DFS filespace. A single copy of a binary file for each system type is stored on a single File Server machine in DFS instead of on the local disk of each client machine. Links are then created from client machines to the central copy of the binary file, eliminating the need to store the same binary file on each client machine. Accessing binary files this way saves disk space on client machines and ensures that users on all client machines are using the same version of the binary file. It also eases system administration by allowing administrators to update central copies of binary files, rather than requiring them to update the copies stored on each client machine.

A link that includes the @sys variable can be created on each client machine. The Cache Manager on each machine interprets the @sys variable, so each machine accesses the binary file for its system type from the global namespace. Symbolic links that include the @sys variable are commonly used to access binary files for programs such as make and emacs.

The following examples create a symbolic link used to access the proper binary files for programs traditionally stored in /usr/local. In the examples, the Cache Managers on two machines interpret the link differently, depending on their respective values of @sys.

On a machine running OSF/1:

$ ln -s /.../abc.com/fs/@sys/usr/local /usr/local
$ ls -l /usr/local

lrwxrwxrwx 1 root 34 Nov 22 1991 /usr/local ->
/.../abc.com/fs/@sys/usr/local

$ cd /usr/local
$ pwd

/.../abc.com/fs/pmax_osf1/usr/local

On a machine running AIX 3.2:

$ ln -s /.../abc.com/fs/@sys/usr/local /usr/local
$ ls -l /usr/local

lrwxrwxrwx 1 root 32 Aug 1 06:44 /usr/local ->
/.../abc.com/fs/@sys/usr/local

$ cd /usr/local
$ pwd

/.../abc.com/fs/rs_aix32/usr/local

When creating links on server machines, do not use links to access binary files for DFS server processes. These files must reside on the local disk of each server machine to avoid bootstrapping problems.

(See Part 2 of this guide and reference for more information about the cm sysname command.)