[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

System Management Concepts:
Operating System and Devices

Organization and Contents of the File Tree

The file tree organizes files into directories containing similar information. This organization facilitates remote mounting of directories and files. System administrators can use these directories as building blocks to construct a unique file tree for each client mounting individual directories from one or more servers. Mounting files and directories remotely, rather than keeping all information local, has the following advantages:

The file tree has the following characteristics:

Understanding the Root File System

The root file system is the top of the hierarchical file tree. It contains the files and directories critical for system operation, including the device directory and programs for booting the system. The root file system also contains mount points where file systems can be mounted to connect to the root file system hierarchy.

The following diagram shows many of the subdirectories of the root file system.

Figure 7. Root File System. This diagram shows the root file system and its subdirectories. The /bin subdirectory points to the /usr/bin directory. The /lib subdirectory points to the /usr/lib directory. The /u subdirectory points to the /home directory.

The following list provides information about the contents of some of the subdirectories of the / (root) file system.

/etc Contains configuration files that vary for each machine. Examples include:
  • /etc/hosts
  • /etc/passwd

The /etc directory contains the files generally used in system administration. Most of the commands that previously resided in the /etc directory now reside in the /usr/sbin directory. However, for compatibility, the /usr/sbin directory contains symbolic links to the locations of some executable files. Examples include:

  • /etc/chown is a symbolic link to /usr/bin/chown.
  • /etc/exportvg is a symbolic link to /usr/sbin/exportvg.
/bin Symbolic link to the /usr/bin directory. In prior UNIX file systems, the /bin directory contained user commands that now reside in the /usr/bin directory.
/sbin Contains files needed to boot the machine and mount the /usr file system. Most of the commands used during booting come from the boot image's RAM disk file system; therefore, very few commands reside in the /sbin directory.
/dev Contains device nodes for special files for local devices. The /dev directory contains special files for tape drives, printers, disk partitions, and terminals.
/tmp Serves as a mount point for a file system that contains system-generated temporary files. The /tmp file system is an empty directory.
/var Serves as a mount point for files that vary on each machine. The /var file system is configured as a file system since the files it contains tend to grow. See Understanding the /var File System for more information.
/u Symbolic link to the /home directory.
/usr Contains files that do not change and can be shared by machines such as executables and ASCII documentation.

Standalone machines mount the root of a separate local file system over the /usr directory. Diskless machines and machines with limited disk resources mount a directory from a remote server over the /usr file system. See Understanding the /usr File System for more information about the file tree mounted over the /usr directory.

/home Serves as a mount point for a file system containing user home directories. The /home file system contains per-user files and directories.

In a standalone machine, the /home directory is contained in a separate file system whose root is mounted over the /home directory root file system. In a network, a server might contain user files that are accessible from several machines. In this case, the server copy of the /home directory is remotely mounted onto a local /home file system.

/export Contains the directories and files on a server that are for remote clients.

See Understanding the /export Directory for more information about the file tree that resides under the /export directory.

/lib Symbolic link to the /usr/lib directory. See Understanding the /usr File System for more information.
/tftpboot Contains boot images and boot information for diskless clients.

Understanding the /usr File System

The /usr file system contains executable files that can be shared among machines. The major subdirectories of the /usr directory are shown in the following diagram.

Figure 8. /usr File System. This diagram shows the major subdirectories of the /usr directory, which includes: /bin, /ccs, /lib, /lpp, /adm and its /var/adm subdirectory, and /man and its /usr/share/man subdirectory.

On a standalone machine the /usr file system is a separate file system (in the /dev/hd2 logical volume). On a diskless machine or a machine with limited disk resources, a directory from a remote server is mounted with read-only permissions over the local /usr file system. The /usr file system contains read-only commands, libraries, and data.

Except for the contents of the /usr/share directory, the files and directories in the /usr file system can be shared by all machines of the same hardware architecture.

The /usr file system includes the following directories:

/usr/bin Contains ordinary commands and shell scripts. For example, the /usr/bin directory contains the ls, cat, and mkdir commands.
/usr/ccs Contains unbundled development package binaries.
/usr/include Contains include, or header, files.
/usr/lbin Contains executable files that are backends to commands.
/usr/lib Contains architecture-independent libraries with names of the form lib*.a. The /lib directory in / (root) is a symbolic link to the /usr/lib directory, so all files that were once in the /lib directory are now in the /usr/lib directory. This includes a few nonlibrary files for compatibility.
/usr/lpp Contains optionally installed products.
/usr/sbin Contains utilities used in system administration, including System Management Interface Tool (SMIT) commands. Most of the commands that once resided in the /etc directory now reside in the /usr/sbin directory.
/usr/share Contains files that can be shared among machines with different architectures. See Understanding the /usr/share Directory for more information.

Symbolic Links to the /var Directory

/usr/adm Symbolic link to the /var/adm directory
/usr/mail Symbolic link to the /var/spool/mail directory
/usr/news Symbolic link to the /var/news directory
/usr/preserve Symbolic link to the /var/preserve directory
/usr/spool Symbolic link to the /var/spool directory
/usr/tmp Symbolic link to the /var/tmp directory, because the /usr directory is potentially shared by many nodes and is read-only

Symbolic Links to the /usr/share and /usr/lib Directory

/usr/dict Symbolic link to the /usr/share/dict directory
/usr/man Symbolic link to the /usr/share/man directory
/usr/lpd Symbolic link to the /usr/lib/lpd directory

Understanding the /usr/share Directory

The /usr/share directory contains architecture-independent shareable text files. The contents of this directory can be shared by all machines, regardless of hardware architecture.

In a mixed architecture environment, the typical diskless client mounts one server directory over its own /usr directory and then mounts a different directory over the /usr/share directory. The files below the /usr/share directory are contained in one or more separately installable packages. Thus, a node might have the other parts of the /usr directory it depends on locally installed while using a server to provide the /usr/share directory.

Some of the files in the /usr/share directory include the directories and files shown in the following diagram.

Figure 9. /usr/share Directory. This diagram shows several directories under the /usr/share directory, including /lib, /lpp, /dict, and /man.

The /usr/share directory includes the following:

/usr/share/man Contains the manual pages if they have been loaded
/usr/share/dict Contains the spelling dictionary and its indexes
/usr/share/lib Contains architecture-independent data files, including terminfo, learn, tmac, me, and macros
/usr/share/lpp Contains data and information about optionally installable products on the system

Understanding the /var File System

Attention: The /var file system tends to grow because it contains subdirectories and data files that are used by busy applications such as accounting, mail, and the print spooler. If applications on your system use the /var file system extensively, routinely run the skulker command or increase the file system size beyond the 4MB /var default.

Specific /var files that warrant periodic monitoring are /var/adm/wtmp and /var/adm/ras/errlog.

Other /var files to monitor are:

/var/adm/ras/trcfile If the trace facility is turned on
/var/tmp/snmpd.log If the snmpd command is running on your system

The /var directory diagram shows some of the directories in the /var file system.

Figure 10. /var Directory. This diagram shows the major subdirectories of the /var directory, including /adm, /news, /preserve, /spool, and /tmp.
/var/adm Contains system logging and accounting files
/var/news Contains system news
/var/preserve Contains preserved data from interrupted edit sessions; similar to the /usr/preserve directory in previous releases
/var/spool Contains files being processed by programs such as electronic mail; similar to the /usr/spool directory in previous releases
/var/tmp Contains temporary files; similar to the /usr/tmp directory in previous releases. The /usr/tmp directory is now a symbolic link to /var/tmp.

Understanding the /export Directory

The /export directory contains server files exported to clients, such as diskless, dataless, or disk-poor machines. A server can export several types of disk space, including packages of executable programs, paging space for diskless clients, and root file systems for diskless clients or those with low disk resources. The standard location for such disk space in the file tree is the /export directory. Some of the subdirectories of the /export directory are shown in the following list:

/exec
Contains directories that diskless clients mount over their /usr file systems
/swap
Contains files for diskless clients' remote paging
/share
Contains directories that diskless clients mount over their /usr/share directory
/root
Contains directories that diskless clients mount over their / (root) file system
/dump
Contains directories for diskless clients' remote dump files
/home
Contains directories that diskless clients mount over their /home file system

The /export directory is the default location for client resources for the diskless commands. The /export directory is only the location of client resources on the server. Because clients mount these resources onto their own file tree, these resources appear to clients at the normal places in a file tree. The major subdirectories of the /export directory, and their corresponding mount points on a client file tree, include:

/export/root
This directory is mounted over the client root ( / ) file system. Client root directories are located in the /export/root directory by default and are named with the client's host name.
/export/exec
Also called the Shared Product Object Tree (SPOT) directory. This directory is mounted over the client /usr file system. SPOTs are versions of the /usr file system stored in the /export/exec directory and have names that reflect their release level. By default, the name is RISCAIX.
/export/share
This directory is mounted over the client /usr/share directory. This directory contains data that can be shared by many architectures. The default location is /export/share/AIX/usr/share.
/export/home
This directory is mounted over the client /home file system. It contains user directories grouped by client host names. The default location for client home directories is /export/home.
/export/swap
Also called the paging directory. In standalone or dataless systems, paging is provided by a local disk; for diskless clients, this service is provided by a file on a server. This file is named after the client's host name and by default is found in the /export/swap directory.
/export/dump
Standalone systems use a local disk as the dump device; diskless clients use a file on a server. The file resides in a directory named after the client host name and by default is found in the /export/dump directory.
microcode
This directory contains microcode for physical devices. The default location is /export/exec/RISCAIX/usr/lib/microcode.

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]