The contents of this file are subject to the terms of the
Common Development and Distribution License (the "License").
You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions
and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying
information: Portions Copyright [yyyy] [name of copyright owner]
Copyright 1989 AT&T
Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
Copyright 2016 Nexenta Systems, Inc.
Copyright 2023 Peter Tribble
/
/usr
The file system tree consists of a root file system and a collection of mountable file systems. The mount(2) 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. Two file systems, / (the root) and /usr, must be mounted and /var must be accessible to have a functional system. The root file system is mounted automatically by the kernel at boot time; the /usr file system is mounted by the system start-up script, which is run as part of the booting process. /var can be mounted as its own file system or be part of /usr, as it is by default.
Certain locations, noted below, are approved installation locations for bundled Foundation Solaris software. In some cases, the approved locations for bundled software are also approved locations for add-on system software or for applications. The following descriptions make clear where the two locations differ. For example, /etc is the installation location for platform-dependent configuration files that are bundled with Solaris software. The analogous location for applications is /etc/opt/packagename.
In the following descriptions, subsystem is a category of application or system software, such as a window system (dt) or a language (java1.2)
The following descriptions make use of the terms platform, platform-dependent, platform-independent, and platform-specific. Platform refers to a machines Instruction Set Architecture or processor type, such as is returned by uname -i. Platform-dependent refers to a file that is installed on all platforms and whose contents vary depending on the platform. Like a platform-dependent file, a platform-independent file is installed on all platforms. However, the contents of the latter type remains the same on all platforms. An example of a platform-dependent file is compiled, executable program. An example of a platform-independent file is a standard configuration file, such as /etc/hosts. Unlike a platform-dependent or a platform-independent file, the platform-specific file is installed only on a subset of supported platforms. Most platform-specific files are gathered under /platform and /usr/platform.
Root of the overall file system name space.
The device name file system. See dev(4FS).
Symbolic links to physical ap_ids.
Provides configuration and capability information about the processor type
Device files for uucp.
Block disk devices.
Pseudo-devices used by the DTrace framework.
Pseudo-device drivers representing instrumentation providers for the DTrace framework.
Frame buffer device files.
File descriptors.
Network data-link interface devices.
USB printer device files.
Pseudo-terminal devices.
Raw disk devices.
Raw tape devices.
Entry points for the STREAMS Administrative driver.
Audio device and audio device control files.
Default swap device.
Terminal devices.
The devices file system. See devfs(4FS).
Platform-dependent administrative and configuration files and databases that are not shared among systems. /etc may be viewed as the directory that defines the machine's identity. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /etc/opt/packagename.
Xorg Xserver (X11) configuration files.
Process accounting system configuration information.
Configuration information for cron(8).
Contains a list of interface adapters supported by uDAPL service providers.
Defaults information for various programs.
Contains device-related data.
Configuration information for shared file systems.
Dynamic Host Configuration Protocol (DHCP) configuration files.
Fault manager configuration files. For more information, see fmd(8).
Font configuration information.
Binaries organized by file system types for operations required before /usr is mounted.
ftpd configuration files.
Generic Security Service (GSS) Application Program Interface configuration files.
Configuration files for Internet services.
Shell scripts for transitioning between init states. The service management facility, smf(7) is the preferred mechanism for managing services.
Kerberos configuration files.
Shared libraries needed during booting.
Logical link control (llc2) driver configuration files.
Configuration information for the printer subsystem.
Mail subsystem configuration.
Solaris Network Cache and Accelerator (NCA) configuration files.
Configuration information for transport independent network services.
NFS server logging configuration file.
Configuration information for optional packages.
Solaris PPP configuration files.
Scripts for entering or leaving run level 0. See init(8).
Scripts for entering or leaving run level 1. See init(8).
Scripts for entering or leaving run level 2. See init(8).
Scripts for entering or leaving run level 3. See init(8).
Scripts for bringing the system up in single user mode.
Directory for reconfiguration manager (RCM) custom scripts.
Service Access Facility files.
Simple Authentication and Security Layer (SASL) server configuration files.
Solaris-delivered security configuration files (Audit, RBAC, crypto, Trusted Extensions).
Default profile scripts for new user accounts. See useradd(8).
Sound Events configuration files.
Secure Shell configuration files. See ssh(1)
SMF service repository.
syseventd configuration files.
Platform-dependent subsystem configuration files that are not shared among systems. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /etc/opt/packagename.
Trademark files; contents displayed at boot time.
USB configuration information.
UUCP configuration information. See uucp(1C).
Extensible Markup Language (XML) catalog.
Contains the zfs state file, zpool.cache.
Solaris Zones configuration files.
Default root of the shared file system tree.
Default root of a subtree for user directories. Often managed by the automounter, see automount(8) for more details.
Subtree of platform-dependent loadable kernel modules required as part of the boot process. It includes the generic part of the core kernel that is platform-independent, /kernel/genunix. See kernel(8) An approved installation location for bundled Solaris software and for add-on system software.
32-bit x86 device drivers.
64-bit SPARC device drivers.
64-bit device drivers for 64-bit x86 platforms.
Kernel modules representing components in the DTrace framework.
Platform-independent kernel.
64-bit, platform-independent kernel.
64-bit x86 platform-dependent modules required for boot. An approved installation location for bundled Solaris software and for add-on system software.
64-bit SPARC platform-dependent modules required for boot. An approved installation location for bundled Solaris software and for add-on system software.
SMF method scripts. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib/svc/manifest.
Default temporary mount point for file systems. This is an empty directory on which file systems can be temporarily mounted.
Temporary mount point for file systems that are mounted by the automounter.
Root of a subtree for add-on application packages.
Subtree of platform-specific objects which need to reside on the root filesystem. It contains a series of directories, one per supported platform. The semantics of the series of directories is equivalent to / (root).
Platform-specific modules required for boot. These modules have semantics equivalent to /kernel. It includes the file unix, the core kernel. See kernel(8). An approved installation location for bundled Solaris software and for add-on system software.
Hardware class-specific modules required for boot. An approved installation location for bundled Solaris software and for add-on system software.
x86 64-bit, platform-dependent modules required for boot. This is an approved installation location for bundled Solaris software.
SPARC 64-bit platform-specific modules required for boot. An approved installation location for bundled Solaris software.
64-bit platform-dependent kernel.
Platform-specific shared objects required for boot. Semantics are equivalent to /lib. An approved installation location for bundled Solaris software and for add-on system software.
Platform-specific administrative utilities required for boot. Semantics are equivalent to /sbin. An approved installation location for bundled Solaris software and for add-on system software.
Root of a subtree for the process file system. See proc(5).
Essential executables used in the booting process and in manual system recovery. The full complement of utilities is available only after /usr is mounted. /sbin is an approved installation location for bundled Solaris software.
Mount point for the contract (CTFS) and object (OBJFS) file systems. See ctfs(4FS) and objfs(4FS).
Temporary files. Usually mounted as a memory based file system. See tmpfs(4FS).
Mount point for the /usr file system. See description of /usr file system, below.
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. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /var/opt/packagename.
System logging and accounting files.
Default location for Audit log files.
Directory provided for global core files storage. See coreadm(8).
Default depository for kernel crash dumps. See dumpadm(8).
Log files for cron(8).
Fault manager state files. For more information, see fmd(8).
FTP server directory.
IPv6 router state files.
Database and log files for Kerberos.
Configuration files for runtime linker. See crle(1).
LDAP client configuration files.
Directory for variable state information.
System log files.
Line printer subsystem logging information.
Directory where users' mail is kept.
Community service messages. This is not the same as USENET-style news.
NFS server log files.
Network Time Protocol (NTP) server state directory.
Root of a subtree for varying files associated with optional software packages. An approved installation location for add-on system software and applications.
Data associated with the Image Packaging System.
Backup files for vi(1) and ex(1).
Temporary files which are not needed across reboots. Only root may modify the contents of this directory.
Data associated with legacy SVR4 package management utilities.
Service access facility logging and accounting files.
Contains directories for files used in printer spooling, mail delivery, cron(8), at(1), and so forth.
sendmail(8) client files.
cron(8) and at(1) spooling files.
Spooling lock files.
Line printer spool files. See lp(1).
Mail queued for delivery.
Spooled packages.
LP print service client-side request staging area.
Queued uucp(1C) jobs.
Files deposited by uucp(1C).
Network status monitor files.
SMF log files.
SMF service manifests. An approved installation location for bundled, add-on system software and applications.
Site-local SMF service manifests.
Files that vary in size or presence during normal system operations. This directory is not cleared during the boot operation. An approved installation location for bundled Solaris software and for add-on system software and applications. It is possible to change the default behavior for /var/tmp to clear all of the files except editor temporary files by setting the clean_vartmp property value of the rmtmpfiles service. This is done with the following commands:
# svccfg -s svc:/system/rmtmpfiles setprop \e options/clean_vartmp = "true" # svcadm refresh svc:/system/rmtmpfiles:defaultThe solaris.smf.value.rmtmpfiles authorization is required to modify this property.
uucp(1C) log and status files.
Databases used by NIS and ypbind(8).
The file system mounted on /usr contains platform-dependent and platform-independent sharable files. The subtree rooted at /usr/share contains platform-independent sharable files; the rest of the /usr tree contains platform-dependent files. By mounting a common remote file system, a group of machines with a common platform may share a single /usr file system. A single /usr/share file system can be shared by machines of any platform. A machine acting as a file server can share many different /usr file systems to support several different architectures and operating system releases. Clients usually mount /usr read-only so that they do not accidentally change any shared files.
The /usr file system contains the following subdirectories: /usr/5bin
/usr/X11Xorg Xserver (X11) executables and documentation.
Platform-dependent, user-invoked executables. These are commands users expect to be run as part of their normal $PATH. For executables that are different on a 64-bit system than on a 32-bit system, a wrapper that selects the appropriate executable is placed here. See isaexec(3C). An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/bin.
x86 64-bit, platform-dependent, user-invoked executables. This directory should not be part of a user's $PATH. A wrapper in /usr/bin should invoke the executable in this directory. See isaexec(3C). An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/bin/amd64.
SPARC platform-dependent, user-invoked executables. This directory should not be part of a user's $PATH. A wrapper in /usr/bin should invoke the executable in this directory. See isaexec(3C). An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/bin/sparcv9.
Platform-dependent user-invoked executables that are associated with subsystem. These are commands users expect to be run as part of their normal $PATH. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/bin.
Platform-dependent user-invoked executables that are associated with subsystem. These are commands users expect to be run as part of their normal $PATH. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/bin.
x86 64-bit, platform-dependent, user-invoked executables. This directory should not be part of a user's $PATH. A wrapper in /usr/bin should invoke the executable in this directory. See isaexec(3C). An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/bin/amd64.
SPARC 64-bit, platform-dependent, user-invoked executables. This directory should not be part of a user's $PATH. A wrapper in /usr/bin should invoke the executable in this directory. See isaexec(3C). An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/bin/sparcv9.
Former location of files for the C compilation system, now containing compatibility symbolic links to their new locations in /usr/bin and /usr/lib.
Demo programs and data.
Symbolic link to the /usr/share/lib/dict directory, which contains the dictionary file used by the UNIX spell program.
Include headers (for C programs).
Directories containing Java programs and libraries.
Java Platform virtual machine and core class libraries.
Subtree of platform-dependent loadable kernel modules, not needed in the root filesystem. An approved installation location for bundled Solaris software.
A mount point, retained for backward compatibility, that formerly contained platform-specific binaries and libraries.
Platform-dependent libraries, various databases, commands and daemons not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib.
Symbolic link to the most portable 64-bit Solaris interfaces, on both SPARC and x86 platforms.
Accounting scripts and binaries. See acct(8).
adb accounting scripts.
Platform-dependent libraries, various databases, commands and daemons not invoked directly by a human user on 64-bit x86. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib/amd64.
Contains the automountd executable.
Contains cfgadm hardware-specific driver plugins.
Scheduling-class-specific directories containing executables for priocntl(1) and dispadmin(8).
Contains the kernel-level cryptographic framework daemon (kcfd).
Contains devfsadm, the daemon version of devfsadm.
Database files for spell(1).
Contains dtrace D source files.
Contains fmd, the fault manager daemon and the fault manager library.
troff(1) font description files.
File system type dependent modules; generally not intended to be invoked directly by the user.
Secure services-related libraries.
Conversion tables for iconv(1).
Contains many network-related daemons and libraries.
Contains IPFILTER.LICENCE and ipftest.
IPQoS configuration utility.
Contains the Kerberos database propagation program and libraries.
Contains the map files for the ld link editor.
Contains LDAP client configuration utilities.
Profiled libraries.
Contains logical link control (llc2) driver configuration files.
Localization databases.
Line printer subsystem databases and back-end executables.
Internet network services.
Auxiliary NFS-related programs and daemons.
Platform Information and Control Library.
Contains the automated resource pools partitioning daemon (poold) and associated libraries.
Power management daemon, powerd.
Contains lp conversion scripts and the in.lpd daemon.
Resource cap enforcement daemon, rcapd.
Contains the Reconfiguration and Coordination Manager daemon (rcm_daemon) and RCM scripts.
Auxiliary programs for refer(1).
Removable media mounter shared objects.
Scripts and commands for the system activity report package. See sar(1).
Auxiliary programs and daemons related to the service access facility.
Simple Authentication and Security Layer (SASL) plug-in modules.
Default trusted libraries.
Solaris security plug-in modules.
Removable media device server daemon, rpc.smserverd.
SPARC 64-bit, platform-dependent libraries, various databases, commands and daemons not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib/sparcv9.
Auxiliary programs and databases for spell(1). This directory is only present when the Binary Compatibility Package is installed.
Platform-dependent libraries, various databases, commands and daemons that are associated with subsystem and that are not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib.
x86 64-bit, platform-dependent libraries, various databases, commands and daemons that are associated with subsystem and that are not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib/amd64.
SPARC 64-bit, platform-dependent libraries, various databases, commands and daemons that are associated with subsystem and that are not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib/sparcv9.
Platform-dependent libraries, various databases, commands and daemons not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib.
x86 64-bit, platform-dependent libraries, various databases, commands and daemons that are associated with subsystem and that are not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib/amd64.
SPARC 64-bit, platform-dependent libraries, various databases, commands and daemons that are associated with subsystem and that are not invoked directly by a human user. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/lib/sparcv9.
Contains the system event notification daemon (syseventd) and the syseventd loadable module (SLM) repository.
Auxiliary programs and daemons for uucp(1C).
Zone administration daemon (zoneadmd).
Not part of the SVR4-based Solaris distribution. The /usr directory is exclusively for software bundled with the Solaris operating system. If needed for storing machine-local add-on software, create the directory /opt/local and make /usr/local a symbolic link to /opt/local. The /opt directory or filesystem is for storing add-on software to the system.
Entry points for foreign name service requests relayed using the network listener. See listen(8).
Programs that are being phased out.
Perl 5 programs and documentation
Subtree of platform-specific objects which does not need to reside on the root filesystem. It contains a series of directories, one per supported platform. The semantics of the series of directories is equivalent to /platform, except for subdirectories which do not provide utility under one or the other (for example, /platform/include is not needed).
Symbolic link to /../`uname -i`/include. Platform-specific system (sys, vm) header files with semantics equivalent to /usr/include. An approved installation location for bundled Solaris software and for add-on system software.
Platform-specific shared objects with semantics equivalent to /usr/lib. An approved installation location for bundled Solaris software and for add-on system software.
x86 64-bit, platform-specific daemon and shared objects. An approved installation location for bundled Solaris software and for add-on system software.
Platform-specific system administration utilities with semantics equivalent to /usr/sbin. An approved installation location for bundled Solaris software and for add-on system software.
Former location of the proc(1) tools, now containing compatibility symbolic links to their new locations in /usr/bin.
System administration files and directories.
Executables and scripts for package management.
Platform-dependent executables for system administration, expected to be run only by system administrators. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/sbin.
32-bit and 64-bit SPARC versions of commands.
64-bit x86 versions of commands.
Platform-dependent executables for system administration, expected to be run only by system administrators, and associated with subsystem. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/sbin.
Platform-dependent executables for system administration, expected to be run only by system administrators, and associated with subsystem. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/sbin.
Platform-independent sharable files. An approved installation location for bundled Solaris software.
Open source m4 files.
Desktop application files.
Sample audio files.
Desktop icon files.
XML translation tools.
Open source IP Filter sample files.
Platform-independent sharable databases. An approved installation location for bundled Solaris software.
Contains word list for spell(1).
Keyboard layout description tables.
Help files for mailx(1).
nroff(1) terminal tables.
Character set data files.
Tab setting escape sequences.
Terminal description files for terminfo(5).
Macro packages and related files for text processing tools, for example, nroff(1) and troff(1).
Time zone information.
Platform-independent sharable manual pages. An approved installation location for bundled Solaris software. The analogous location for add-on system software or for applications is /opt/packagename/man.
Desktop icon files.
Sound files.
Source code for kernel, utilities, and libraries.
Desktop themes.
Files related to system and network administration.
Berkeley compatibility package binaries.
Berkeley compatibility package headers.
Berkeley compatibility package libraries.
Directory for POSIX-compliant utilities.
Directory for newer versions of POSIX-compliant utilities.