Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ls(1)

apropos(1)

whatis(1)

whereis(1)

finger(1)

which(1)

find(1)

grep(1)

fsck(8)

mount(8)

cdslinvchk(8)

Functions:symlink(2)

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)

Functions:symlink(2)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026