This chapter describes the directory structure and filesystems for the ISS workstation.
Most of the ISS software and configuration resides under a single directory, /iss. The /iss tree contains utilities, programs, scripts, configuration files, source directories, and other files used to run the ISS system.
Most of the /iss tree is under revision control, a working directory checked out from a CVS repository. The tree uses an installed Zebra system to configure and create Makefiles from its Imakefiles, which can then be used to build the ISS software and install it into the /iss/bin and /iss/lib directories. The iss_config script then sets up permissions and ownerships, such as setting the jaz program to setuid root.
The following table describes some of the directories in the /iss tree.
Table 7-1. ISS Directories
/iss/bin | Location of the ISS executables installed from the source tree in /iss/src |
/iss/lib | Location of the ISS library files installed from the source tree in /iss/src |
/iss/scripts | Utility scripts. These are the source files; the scripts are actually installed into and executed from the /iss/bin directory. |
/iss/etc | System configuration files, analagous to the system /etc directory. Some of the files in this tree, such as hosts, actually override the corresponding system files by replacing the system files with links to the /iss/etc files. |
/iss/src | Source tree for ISS programs, such as jaz, Archiver, ppp, the ingest scheduler is, and the data ingestors. |
The ISS subsystem expects a few external resources to be available, especially directories with lots of disk space for data, log, and cache files. The system configuration step creates links under the /iss directory which point to these external resources, using the paths /iss/tmp, /iss/ds, and /iss/log. This scheme allows the targets of the links to differ depending upon the available disks without changing the paths in all the ISS modules which rely on them. Likewise it avoids polluting the root directory with lots of links as used to be the case.
On the Sun workstations, the links point into the large disk mounted on /u2. The /u2 filesystem comprises the entire second internal disk, allocated as a single whole partition. The only permanent resident of this filesystem is /local, which contains programs and utilities not provided by the base Solaris system. This includes ssh, samba, and compilers and libraries. The rest of the filesystem holds plenty of room for spooling raw data files, zebra data files, log files, and frame cache files.
Table 7-2. ISS Directory Resources
/data_source | This is the directory shared by samba and accessed as the K: drive from the Windows computers. It is actually a link to /iss/ds, but it remains to be compatible with the Samba configuration file. |
/iss/log | A spool directory for log files. The Zebra EventLogger writes to the zebra.log file, Archiver to archiver.log, and the archive migration script logs there also. Also, the Archiver writes a database of dumped files, which creates the DumpedFiles.dir and DumpedFiles.pag files. |
/iss/tmp | This is a spool directory. Zebra graphics processes use it for caching graphics frames, and the data transfer script uses it to assemble temporary tar files of data. |
/iss/ds | This link points to the top of the entire data directory tree. Ideally, all data streams are recorded in this tree, including status messages, tklog files, and mail messages. Everything that gets transferred over the Internet or migrated to the archive disk should be considered data and be spooled in this tree. The directories of the Zebra datastore are just a subset of the /iss/ds tree. |
/usr/local | This is the directory under which the iss programs and scripts expect local programs to be installed. All absolute paths into /usr/local should have been removed by now in favor of using just the PATH, since many programs exist in different places between the Linux and Solaris installations. |