Special string @sys

Previous: vos

Up: AFS Commands

Next: Where to Go For More Information

Special string @sys

@sys is not really a command, but a special string. Since AFS is designed to look the same on different kinds of machines, the special string @sys, when it appears in a pathname, has a different meaning on each machine/operating system pair. When the system parses a pathname, it automatically replaces the string ``@sys'' with a string that is of the form machine-type_operating-system. For example, on a IBM RT running AOS 4.3 (as Athena RT's do), @sys has the legal value rt_aos4 in the athena cell. On an Athena VAXstation, @sys has the value vax_bsd43. On an Athena DECstation, it's pmax_ul4; on an Athena RS6000, it's rs_aix31. Thus the directory /mit/sipb/@sys on different machines corresponds to different directories. If I am on a VAXstation, I will end up in /mit/sipb/vax_bsd43; if I am on an IBM RT/PC, I will end up in /mit/sipb/rt_aos4. And so on.

One use for @sys, as we have seen above, is in the naming of directories to contain binary files. Binary files are programs that have been compiled and are ready to run. These files are different for different machine architectures; VAX binaries will not run on a Sun or a DEC or an RT. Therefore, these files are often kept in separate directories. Many lockers use @sys itself as the names of these directories. Thus a single command, such as /afs/sipb/project/sipb/@sys/xscreensaver, can be used to start an application, such as xscreensaver, on any machine. However, you should note that there is no fixed convention for the naming of these directories. Although using @sys might be ``most standard,'' some lockers use different names, such as bin/@sys, bin.@sys, or bin as a symbolic link to .bin/@sys. Since the convention has not been fully established, be aware that different lockers sometimes use different methods. Note again that attaching a locker with the command add puts the correct pathname into your path; you will be able to execute the correct binary by simply typing the filename.