The UUFS 1.0 filesystem is a file tree architecture
designed to meet the application sharing goals of the
University of Utah Center for High Performance Computing
(CHPC) and the Inter-mountain Network Sciences and Computing
Center (INSCC). While the University's computational resources
support many disparate groups working towards diverse ends,
there is still considerable commonality in the utilities and
applications typically employed. The UUFS design reflects a
desire to respect the diversity of this environment while
exposing interdependencies and avoiding unnecessary
duplication and extension of the common file tree. To this end
several goals were identified, goals not readily met with the
traditional "/usr/local" implementation.
- Ensure client view compatibility with underlying file systems
- Utilize a prefix naming scheme that avoids collisions with commonly existing prefixes (e.g. /usr/local, /local, etc.)
- Use traditional path naming conventions, e.g. src, bin, lib, man, etc
- Permit other administrative sites to share and extend the file system
- Maximize network file sharing
- Avoid networked filesystem mounts directly within the root directory
- Simplify installation, management, and removal of application packages
- Make available multiple application releases
- Provide release independent application names
- Compartmentalize access control
- Constrain server's file system sizes as little as possible
- Manage cross-domain set user/group ID programs
- Require as little manual configuration as possible
- Constrain per-host configuration as little as possible
The UUFS Filesystem Structure
The top level view for the typical user of the UUFS tree
begins with the /uufs/inscc.utah.edu/ directory.
At this point the UUFS filesystem tree branches along three
primary directories, each of which has a similar substructure
(see the respective man pages below). Here the directories are
listed in the order (least to most) that their contents are
specific to the host architecture.
/uufs/inscc.utah.edu/common- the system (platform) independent branch/uufs/inscc.utah.edu/sys- the system dependent branch/uufs/inscc.utah.edu/host- the host dependent branch
This early branching permits significant sharing of files while still maximizing the degree to which applications available through the filesystem can be configured. By keeping as much as possible in common space, then platform dependent space, and as a last resort in host dependent space, network file sharing minimizes disk use requirements.
Documentation
CHPC Web Pages
Information has been divided according to various needs and interests.
For the Application User:
Information for the typical user - explains differences
between the conventional /usr/local approach, how
to adjust your PATH environment variable to
reference executables from specific packages, etc.
For the Application Developer:
Information on how to link with shared libraries in the
/uufs tree and debug shared library linker
problems.
For the System Administrator:
Information for the concurrent use of /uufs
alongside an existing /usr/local tree.
Manual Pages
Manual ("man") pages are available on any UUFS
client machine (as indicated by the existence of a
/uufs directory on that machine). You may first
need to set your environment MANPATH variable to
reference these pages.
setenv MANPATH $MANPATH\:/uufs/inscc.utah.edu/common/man(forcsh/tcshusers)MANPATH=$MANPATH:/uufs/inscc.utah.edu/common/man(forsh/kshusers)
Pages Available: uufs(4), uufsclient(4), uufscommonbranch(4), uufshostbranch(4), uufsserver(4), uufssysbranch(4), uufsclient(1), uufsextract(1), uufssys(1)

