filesystem(7)


filesystem -- file system organization

Synopsis

   / 
   /usr 

Description

The System V file system tree is organized for administrative convenience. Distinct areas within the file system tree are provided for files that are private to one machine, files that can be shared by multiple machines of a common architecture, files that can be shared by all machines, and home directories. This organization allows sharable files to be stored on one machine but accessed by many machines using a remote file access mechanism such as NFS. Grouping together similar files makes the file system tree easier to upgrade and manage.

The file system tree consists of a root file system and a collection of mountable file systems. The mount(1M) program attaches mountable file systems to the file system tree at mount points (directory entries) in the root file system or other previously mounted file systems. If /usr is configured as a separate file system, it must be mounted in order to have a completely functional system. The root file system is mounted automatically by the kernel at boot time.

The root file system contains files that are unique to each machine. It contains the following directories:

/dev
Character and block special files. These device files provide hooks into hardware devices or operating system facilities. Typically, device files are built to match the kernel and hardware configuration of the machine.

/dev/term
Terminal devices.

/dev/pts
Pseudo-terminal devices.

/dev/sxt
Shell layers device files used by sh(1).

/etc
Machine-specific administrative configuration files and system administration databases. /etc may be viewed as the home directory of a machine, the directory that in a sense defines the machine's identity. Executable programs are no longer kept in /etc.

/home
Root of a subtree for user directories.

/mnt
Temporary mount point for file systems. This is an empty directory on which file systems may be temporarily mounted.

/opt
Root of a subtree for add-on application packages.

/proc
Root of a subtree for the process file system.

/sbin
Essential executables used in the booting process and in manual system recovery. The full complement of utilities is available only after /usr is mounted,

/tmp
Temporary files; initialized to empty during the boot operation.

/var
Root of a subtree for varying files. Varying files are files that are unique to a machine but that can grow to an arbitrary (that is, variable) size. An example is a log file.

/var/adm
System logging and accounting files.

/var/cron
cron's log file.

/var/mail
Where users' mail is kept.

/var/opt
Top-level directory used by application packages.

/var/preserve
Backup files for vi(1) and ex(1).

/var/spool
Subdirectories for files used in printer spooling, mail delivery, cron(1M), at(1), etc.

/var/tmp
Transitory files; initialized to empty during the boot operation.

Because it is desirable to keep the root file system small and not volatile, on disk-based systems larger file systems are often mounted on /home, /opt, /usr, and /var.

The file system mounted on /usr contains architecture-dependent and architecture-independent sharable files. The subtree rooted at /usr/share contains architecture-independent sharable files; the rest of the /usr tree contains architecture-dependent files. By mounting a common remote file system, a group of machines with a common architecture may share a single /usr file system. A single /usr/share file system can be shared by machines of any architecture. A machine acting as a file server may export many different /usr file systems to support several different architectures and operating system releases. Clients usually mount /usr read-only so that they don't accidentally change any shared files. The /usr file system contains the following subdirectories:

/usr/bin
Most system utilities.

/usr/sbin
Executables for system administration.

/usr/games
Game binaries and data.

/usr/include
Include header files (for C programs, etc).

/usr/lib
Program libraries, various architecture-dependent databases, and executables not invoked directly by the user (system daemons, etc).

/usr/share
Subtree for architecture-independent sharable files.

/usr/share/man
Subdirectories for on-line reference manual pages (if present).

/usr/share/lib
Architecture-independent databases.

/usr/src
Source code for utilities and libraries.

/usr/ucb
Berkeley compatibility package binaries.

/usr/ucbinclude
Berkeley compatibility package header files.

/usr/ucblib
Berkeley compatibility package libraries.

A machine with disks may export root file systems, swap files, and /usr file systems to diskless or partially-disked machines that mount them into the standard file system hierarchy. The standard directory tree for sharing these file systems from a server is:

/export
The default root of the exported file system tree.

/export/exec/architecture-name
The exported /usr file system supporting architecture-name for the current release.

/export/exec/architecture-name.release-name
The exported /usr file system supporting architecture-name for System V release-name.

/export/exec/share
The exported common /usr/share directory tree.

/export/exec/share.release-name
The exported common /usr/share directory tree for System V release-name.

/export/root/hostname
The exported root file system for hostname.

/export/swap/hostname
The exported swap file for hostname.

/export/var/hostname
The exported /var directory tree for hostname.

References

at(1), fsck(1M), init(1M), mknod(1M), mount(1M), sh(1), vi(1)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.