hier(5) — Macro Packages and Conventions
NAME
hier − Standard file system hierarchy
DESCRIPTION
A Tru64 UNIX operating system has a standard file system hierarchy. So does the X11 Window System. The operating system has a unique root directory, the identity of which is compiled into the operating system kernel and is activated when the operating system is bootstrapped. The X11 Window System is a file system within the operating system hierarchy.
The root file system is the file system that contains the root directory. Although the default root file system is compiled into the kernel, you can use other file systems as the root after the system is bootstrapped. For example, you could use the mount command to mount a file system on the root directory mount point, making that file system the root file system until the machine is bootstrapped again.
The standard file system hierarchy for Tru64 UNIX systems allows both the components of the system and developers of products for it to install and run their software in a consistent environment. For example, third-party software developers can place their products within the standard directory structure (in the /opt, /usr/opt, and /var/opt directories), and can then expect their products will install successfully on systems that have maintained the standard hierarchy.
The three components to the standard file system hierarchy for Tru64 UNIX systems are the directory hierarchy for the operating system, the X11 Window System, and Context Dependent Symbolic Links (CDSLs). The following sections show these components.
Developers of products for Tru64 UNIX should use the structures shown in order to ensure their products can be installed on, and are portable to, other Tru64 UNIX systems.
Administrators of Tru64 UNIX systems should preserve the CDSLs for the system because the CDSLs must be intact to perform update installations of Tru64 UNIX systems or incorporate the system into a clustered environment. See symlink(2) for more information about symbolic links and CDSLs.
The following table shows the standard base system hierarchy.
| Base System Hierarchy | Description of Directory or File |
| / | The root directory for the root file system of the operating system |
| /cluster/ | Directory for a cluster of which this system could be a member |
| members/ | Root directory for cluster member0, this system, whether or not it is in a cluster |
| /dev/ | Block and character device special files |
| /devices/ | Directory for device special files (new method) |
| /etc/ | System configuration files and databases; nonexecutable files |
| nls/ | National language support databases |
| /lost+found/ | Files located by fsck |
| /opt/ | Optional for layered products, such as applications and device drivers |
| /sbin/ | Commands essential to boot the system (most of these commands depend on shared libraries or the loader and have other versions in /usr/bin or /usr/sbin) |
| init.d/ | System state rc files |
| rc0.d/ | The rc files executed for system-state 0 |
| rc2.d/ | The rc files executed for system-state 2 |
| rc3.d/ | The rc files executed for system-state 3 |
| /subsys/ | Dynamically configured kernel modules required in single-user mode |
| /sys/ | Links to those files in /usr/sys/ that are source-code based |
| BINARY/ | System executable modules (.mod files ) |
| /tmp/ | System-generated temporary files, usually not preserved across a system reboot |
| /usr/ | Most user utilities and applications |
| bin/ | Common utilities and applications |
| ccs/ | C compilation system; tools and libraries used to generate C programs |
| bin/ | Development binaries such as cc, ld, and make |
| lib/ | Development libraries and back ends |
| cluster/ | Directories for cluster members |
| include/ | Program header (include) files; not all subdirectories are listed in this appendix |
| mach/ | Mach-specific C include files |
| machine/ | Machine-specific C include files |
| net/ | Miscellaneous network C include files |
| netinet/ | C include files for Internet standard protocols |
| netns/ | C include files for XNS standard protocols |
| nfs/ | C include files for Network File System |
| protocols/ | C include files for Berkeley service protocols |
| rpc/ | C include files for remote procedure calls |
| servers/ | C include files for servers |
| sys/ | System C include files (kernel data structures) |
| tli/ | C include files for Transport Layer Interface |
| ufs/ | C include files for UNIX File System |
| examples/ | Subdirectories of programming examples |
| lbin/ | Back-end executable files |
| spell/ | Spell back-end |
| uucp/ | UNIX-to-UNIX Copy (UUCP) programs |
| lib/ | Links to libraries located elsewhere (/usr/ccs/lib), (/usr/libin), (/usr/share/lib), (/X11/lib); included for compatibility |
| opt/ | Optional layered products, such as applications and device drivers |
| sbin/ | System administration utilities and system utilities |
| share/ | Architecture-independent ASCII text files |
| dict/ | Word lists |
| lib/ | Various libraries |
| me/ | Macros for use with the me macro package |
| ms/ | Macros for use with the ms macro package |
| tabset/ | Tab description files for a variety of terminals; used in /etc/termcap |
| terminfo/ | Terminal information database |
| tmac/ | Text-processing macros |
| man/ | Online reference pages |
| man1/ | Source for user command reference pages |
| man2/ | Source for system call reference pages |
| man3/ | Source for library routine reference pages |
| man4/ | Source for file format reference pages |
| man5/ | Source for miscellaneous reference pages |
| man7/ | Source for device reference pages |
| man8/ | Source for administrator command reference pages |
| cat1-cat8 | Formatted versions of files in man1 − man8 |
| shlib/ | Binary-loadable shared libraries; shared versions of libraries in /usr/ccs/lib |
| sys/ | System configuration files |
| BINARY | Object files and links to the .mod files in /sys/BINARY/ |
| conf/ | Kernel configuration control files |
| include/ | Header files |
| /var/ | Multipurpose log, temporary, varying, and spool files. [An alternate location for this directory is /usr/var.] |
| cluster/ | Directory for cluster members |
| adm/ | Common administrative files and databases |
| crash/ | For saving kernel crash dumps |
| cron/ | Files used by cron |
| sendmail/ | Configuration and database files for sendmail |
| syslog/ | Files generated by syslog |
| opt/ | Optional layered products, such as applications and device drivers |
| run/ | Files created when daemons are running |
| spool/ | Miscellaneous printer and mail-system spooling directories |
| lpd/ | Line printer spooling directories |
| mail/ | Incoming mail messages |
| mqueue/ | Undelivered mail queue |
| uucp/ | UUCP spool directory |
| subsys/ | Loadable kernel modules required in multiuser mode |
| tmp/ | Application-generated temporary files that are kept between system reboots |
| /vmunix | Pure kernel executable (the operating system loaded into memory at boot time) |
The following table shows the standard X11 window system hierarchy.
| X11 Window System Hierarchy | Description of Directory or File |
| /usr/ | Most user utilities and applications |
| bin/ | Common utilities and applications |
| X11/ | X applications |
| demos/ | Miscellaneous demo programs |
| examples/ | Example programs |
| dxpaint/ | Sample Paint image |
| motif/ | Motif example programs |
| include/ | Header files |
| DPS/ | Files for DPS |
| DXm/ | Files for libDXm |
| Mrm/ | Files for libMrm |
| uil/ | UIL header files |
| X11/ | X C header files |
| bitmaps/ | X bitmaps |
| extensions/ | Header files for use with X extensions |
| Xaw/ | Files for libXaw |
| Xserver/ | Header files used for loadable X server libraries |
| Xm/ | Header files for libXm |
| lib/ | Static archive X libraries |
| cda/ | CDA style guides |
| dxbook/ | Default Bookreader bookshelf |
| emacs/ | Emacs directory base |
| X11/ | Display and font resources |
| app-defaults/ | System-wide resource files for X client applications |
| bitmaps/ | Program-specific bitmaps |
| appdata/ | Generic program-specific data |
| config/ | Imake configuration files |
| DPS/ | Display Postscript files |
| fonts/ | Font files |
| 100dpi/ | 100 dpi fonts from X Consortium |
| 75dpi/ | 75 dpi fonts from X Consortium |
| decwin/ | DECwindows fonts |
| 100dpi/ | 100 dpi fonts |
| 75dpi/ | 75 dpi fonts |
| misc/ | Fonts from X Consortium |
| Speedo/ | Speedo scalable fonts |
| Type1/ | Type1 scalable fonts |
| Type1Adobe/ | Adobe Type1 scalable fonts |
| afm/ | Adobe font metrics |
| user | Fonts from layered products and local installations |
| 100dpi/ | 100 dpi fonts |
| 75dpi/ | 75 dpi fonts |
| misc/ | Other fonts |
| fs/ | Fontserver config and error log files |
| help/ | Help files for X client applications; subdirectories as applicable |
| keymaps/ | Keymaps for various keyboards |
| twm/ | Default configuration for twm window manager |
| uid/ | User Interface Definitions for X client applications |
| x11perfcomp/ | Scripts for analyzing x11perf output |
| xdm/ | X Display Manager configuration and resource files, and error log |
| shlib/ | Shareable libraries |
| X11/ | Shareable libraries loaded by X server |
The following example is a list of Context Dependent Symbolic Links (CDSLs) on a base system. It was produced by running the following command line. Note that the CDSL list generated on your system may differ from that presented in this example, depending on the version of the operating system you are running and the layered products (such as cluster software) that are installed.
# find / -type l -ls | grep ’{memb}’ | awk ’{ print $11, $12,
$13 }’ | tee /usr/tmp/steel_cdsl.list.
/cluster/members/member -> {memb}
/etc/cfginfo -> ../cluster/members/{memb}/etc/cfginfo
/etc/autopush.conf -> ../cluster/members/{memb}/etc/autopush.conf
/etc/binlog.conf -> ../cluster/members/{memb}/etc/binlog.conf
/etc/rc.config -> ../cluster/members/{memb}/etc/rc.config
/etc/strsetup.conf -> ../cluster/members/{memb}/etc/strsetup.conf
/etc/syslog.conf -> ../cluster/members/{memb}/etc/syslog.conf
/etc/gated.conf -> ../cluster/members/{memb}/etc/gated.conf
/etc/ifaccess.conf -> ../cluster/members/{memb}/etc/ifaccess.conf
/etc/inet.local -> ../cluster/members/{memb}/etc/inet.local
/etc/inetd.conf.local -> ../cluster/members/{memb}/etc/inetd.conf.local
/etc/ntp.conf -> ../cluster/members/{memb}/etc/ntp.conf
/etc/ogated.conf -> ../cluster/members/{memb}/etc/ogated.conf
/etc/ppp -> ../cluster/members/{memb}/etc/ppp
/etc/remote -> ../cluster/members/{memb}/etc/remote
/etc/routes -> ../cluster/members/{memb}/etc/routes
/etc/slhosts -> ../cluster/members/{memb}/etc/slhosts
/etc/snmpd.conf -> ../cluster/members/{memb}/etc/snmpd.conf
/etc/dhcptab -> ../cluster/members/{memb}/etc/dhcptab
/etc/latautopush.conf -> ../cluster/members/{memb}/etc/latautopush.conf
/etc/dfsl.dat -> ../cluster/members/{memb}/etc/dfsl.dat
/etc/atm -> ../cluster/members/{memb}/etc/atm
/etc/atm.conf -> ../cluster/members/{memb}/etc/atm.conf
/etc/dfsl.bak -> ../cluster/members/{memb}/etc/dfsl.bak
/etc/gateways -> ../cluster/members/{memb}/etc/gateways
/etc/ntp.keys -> ../cluster/members/{memb}/etc/ntp.keys
/etc/sm -> /cluster/members/{memb}//etc/sm
/etc/sm.bak -> /cluster/members/{memb}//etc/sm.bak
/etc/state -> /cluster/members/{memb}//etc/state
/sbin/init.d/autosysconfig -> ../../cluster/members/{memb}
/sbin/init.d/autosysconfig
/dev -> cluster/members/{memb}/dev
/tmp -> cluster/members/{memb}/tmp
/usr/cluster/members/member -> {memb}
/usr/lib/X11/Xserver.conf -> ../../var/cluster/members/{memb}
/X11/Xserver.conf
/var/cluster/members/member -> {memb}
/var/adm/smlogs -> ../cluster/members/{memb}/adm/smlogs
/var/adm/binary.errlog -> ../cluster/members/{memb}/adm/binary.errlog
/var/adm/crash -> ../cluster/members/{memb}/adm/crash
/var/adm/cron -> ../cluster/members/{memb}/adm/cron
/var/adm/lastlog -> ../cluster/members/{memb}/adm/lastlog
/var/adm/lmf -> ../cluster/members/{memb}/adm/lmf
/var/adm/messages -> ../cluster/members/{memb}/adm/messages
/var/adm/sendmail/protocols.map -> ../../cluster/members/{memb}
/adm/sendmail/protocols.map
/var/adm/sendmail/sendmail.st -> ../../cluster/members/{memb}
/adm/sendmail/sendmail.st
/var/adm/syslog -> ../cluster/members/{memb}/adm/syslog
/var/adm/syslog.dated -> ../cluster/members/{memb}/adm/syslog.dated
/var/adm/utmp -> ../cluster/members/{memb}/adm/utmp
/var/adm/wtmp -> ../cluster/members/{memb}/adm/wtmp
/var/adm/lpd -> ../cluster/members/{memb}/adm/lpd
/var/tmp -> ./cluster/members/{memb}/tmp
/var/evm/adm/logfiles -> ../../cluster/members/{memb}/evm/adm/logfiles
/var/evm/evmlog -> ../cluster/members/{memb}/evm/evmlog
/var/evm/sockets -> ../cluster/members/{memb}/evm/sockets
/var/run -> ./cluster/members/{memb}/run
/var/spool/cron -> ../cluster/members/{memb}/spool/cron
/var/spool/locks -> ../cluster/members/{memb}/spool/locks
/var/spool/lpd -> ../cluster/members/{memb}/spool/lpd
/var/spool/uucp -> ../cluster/members/{memb}/spool/uucp
/var/spool/uucppublic -> ../cluster/members/{memb}/spool/uucppublic
/var/agentx -> ./cluster/members/{memb}/agentx
/var/rwho -> ./cluster/members/{memb}/rwho
/var/dt -> cluster/members/{memb}/dt
/var/advfs/daemon/logs -> ../../cluster/members/{memb}/advfs/daemon/logs
/var/advfs/daemon/socket -> ../../cluster/members/{memb}
/advfs/daemon/socket
/var/advfs/gui -> ../cluster/members/{memb}/advfs/gui
/var/rsvp -> ./cluster/members/{memb}/rsvp
/var/yp/binding -> ../cluster/members/{memb}/yp/binding
/var/im -> ./cluster/members/{memb}/im
/var/lsmsa -> /var/cluster/members/{memb}/lsmsa
/.local.. -> cluster/members/{memb}
The /usr/sbin/cdslinvchk utility provides a method of checking and verifying CDSLs on a system.
SEE ALSO
Commands: ls(1), apropos(1), whatis(1), whereis(1), finger(1), which(1), find(1), grep(1), fsck(8), mount(8), cdslinvchk(8)