- For the Application User
- For the Application Developer
- For the System Administrator
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.
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 ("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 (for csh/tcsh users)
- MANPATH=$MANPATH:/uufs/inscc.utah.edu/common/man (for sh/ksh users)
Pages Available: uufs(4), uufsclient(4), uufscommonbranch(4), uufshostbranch(4), uufsserver(4), uufssysbranch(4), uufsclient(1), uufsextract(1), uufssys(1)
All CHPC Software Documentation has been moved: https://www.chpc.utah.edu/documentation/software/index.php
This includes a searchable database found: https://www.chpc.utah.edu/software/chpc/