Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
Copyright 1989 AT&T
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]
/
/usr
The file system tree is organized for administrative convenience. Distinct areas within the file system tree are provided for files that are private to one machine, files that can be shared by multiple machines of a common platform, files that can be shared by all machines, and home directories. This organization allows sharable files to be stored on one machine but accessed by many machines using a remote file access mechanism such as NFS. Grouping together similar files makes the file system tree easier to upgrade and manage.
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.
In the following file or directory descriptions, GNOME stands for GNU Network Object Model Environment. The GNOME Desktop is shipped with the Solaris operating system.
The root file system contains files that are unique to each machine. It contains the following directories: /
Root of the overall file system name space.
Primary location for special files. Typically, device files are built to match the kernel and hardware configuration of the machine.
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.
Logical volume management meta-disk devices.
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.
Physical device files.
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.
Accounting system configuration information.
Apache configuration files.
Files for configuring Sun Java Desktop System Configuration Manager remote access.
GNOME XML configuration file for identifying CORBA servers.
Configuration information for cron(1M).
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.
Solstice Enterprise Agents configuration files.
Desktop configuration files.
Solaris Flash Archive configuration files.
Fault manager configuration files. For more information, see fmd(1M).
Font configuration information.
Binaries organized by file system types for operations required before /usr is mounted.
ftpd configuration files.
GConf system configuration (including system defaults and system mandatory settings)
GNU Image Manipulation Program (GIMP) configuration files.
GNOME Desktop configuration files.
Files for customizing GNOME 2.0 desktop menus.
Configuration files for GNOME's Gnopernicus, an Assistive Technology (AT) screen reader.
Generic Security Service (GSS) Application Program Interface configuration files.
GTK+ configuration files
GTK+ Pixbuf loaders and Input Method modules
Sun Java System Message Queue security configuration files.
Configuration files for Internet services.
Shell scripts for transitioning between run levels.
Kerberos configuration files.
Shared libraries needed during booting.
Logical link control (llc2) driver configuration files.
Configuration information for the printer subsystem.
Solaris Logical Volume Manager configuration files.
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.
Pango configuration and module information.
Configuration files for patch management.
Solaris PPP configuration files.
Scripts for entering or leaving run level 0. See init(1M).
Scripts for entering or leaving run level 1. See init(1M).
Scripts for entering or leaving run level 2. See init(1M).
Scripts for entering or leaving run level 3. See init(1M).
Scripts for bringing the system up in single user mode.
Directory for reconfiguration manager (RCM) custom scripts.
This directory might contain an NIS+ authentication configuration file.
Service Access Facility files.
Simple Authentication and Security Layer (SASL) server configuration files.
Solaris-delivered security configuration files (Audit, RBAC, crypto, Trusted Extensions).
Platform-dependent administrative, configuration files and databases for subsystems from /usr/sfw that are not shared among systems.
Samba configuration files.
Default profile scripts for new user accounts. See useradd(1M).
Systems Management Agent (SMA) configuration files.
Solaris Smart Card configuration files.
Solstice Enterprise Agents configuration files.
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.
Solaris Zones configuration files.
Default root of the shared file system tree.
Default root of a subtree for user directories.
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(1M) 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(1M). 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.
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.
Temporary files; cleared during the boot operation.
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.
Scripts, icons, logs, and cache pages for Apache web server.
Sun Java System Application Server administrative domain files.
Default location for Solaris Audit log files.
Directory provided for global core files storage.
Default depository for kernel crash dumps.
Log files for cron(1M).
Solstice Enterprise Agents (SEA) Desktop Management Interface (DMI) run-time components.
dtlogin configuration files.
Fault manager state files. For more information, see fmd(1M).
Message queue broker instance configuration file.
FTP server directory.
IPv6 router state files.
Database and log files for Kerberos.
Configuration files for runtime linker.
LDAP client configuration files.
Directory for variable state information.
System log files.
Line printer subsystem logging information.
Directory where users' mail is kept.
Dynamic database directory for MySQL Database Management System.
Community service messages. This is not the same as USENET-style news.
NFS server log files.
NIS+ databases.
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.
Patch management log files.
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.
Databases maintained by the software package management utilities.
Status log files produced by software management functions and/or applications. For example, log files produced for product installation. An approved installation location for bundled Solaris software and for add-on system software and applications.
Service access facility logging and accounting files.
Log and lock files for Samba.
Systems Management Agent (SMA) security and MIB component information.
SNMP status and configuration information.
Contains directories for files used in printer spooling, mail delivery, cron(1M), at(1), and so forth.
sendmail(1M) client files.
cron(1M) 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.
Samba print queue.
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 needed for backwards compatibility with NIS and ypbind(1M); unnecessary after full transition to NIS+.
Because it is desirable to keep the root file system small and not volatile, on disk-based systems larger file systems are often mounted on /home, /opt, /usr, and /var.
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/4lib
a.out libraries for the Binary Compatibility Package.
Configuration files for Asian Lanuguage Environment (ALE).
Xorg Xserver (X11) executables and documentation.
Apache executables, loadable modules, and documentation.
Sun Java System Application Server software.
Directory for benchmarks.
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.
x86 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.
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.
C compilation system.
C compilation commands and system utilities.
Demo programs and data.
Symbolic link to the /usr/share/lib/dict directory, which contains the dictionary file used by the UNIX spell program.
root of a subtree for CDE software.
Primary location for CDE system utilities.
Header files for CDE software.
Libraries for CDE software.
On-line reference manual pages for CDE software.
An empty directory, a remnant of the SunOS 4.0/4.1 software.
This is an obsolete directory where 3rd party programs can install their applications and pixmap files. It is supported for backwards compatibility.
Include headers (for C programs).
Java 2 SDK executables, loadable modules, and documentation.
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(1M).
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(1M).
Contains the kernel-level cryptographic framework daemon (kcfd).
Contains devfsadm, the daemon version of devfsadm.
Database files for spell(1).
Contains DNS resolver libraries.
Contains dtrace D source files.
Contains Solaris flash archive deployment scripts.
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.
Contains NIS+ administrative commands.
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.
IFD handler libraries.
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.
Contains the Secure Shell daemon (sshd) and supporting programs.
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).
Sun Java web console programs and scripts.
Zone administration daemon (zoneamd).
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(1M).
Programs that are being phased out.
Installation or mount point for the OpenWindows software.
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.
Directory for the proc tools.
System administration files and directories.
Binaries for the Form and Menu Language Interpreter (FMLI) scripts. See fmli(1).
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.
Custom Jumpstart scripts and executables.
32-bit and 64-bit versions of commands.
64-bit x86versions 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.
GNU and open source executables, libraries, and documentation.
Platform-independent sharable files. An approved installation location for bundled Solaris software.
Open source m4 files.
Open source desktop applications files.
Sample audio files.
Makefile for glib.
GNOME desktop and application data.
GTK+ application data and demos
API documentation for libraries which use gtk-doc documentation format, which mostly includes desktop interfaces.
Sun Java Desktop icons.
Open source Interface Definition Language (IDL) files.
XML translation tools.
Open source IP Filter sample files.
Help files for Message Queue broker and Smart Card applications.
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(4).
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.
GNOME Scrollkeeper database files.
Sun Java graphics.
GNOME Scrollkeeper templates and xslt files.
Open source SGML files.
Sound files.
Source code for kernel, utilities, and libraries.
GNOME 2.0 Desktop themes.
Sun Web Console status files.
GNOME Scrollkeeper DTD files.
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.
at(1), ex(1), fmli(1), iconv(1), lp(1), isainfo(1), mail(1), mailx(1), nroff(1), priocntl(1), refer(1), sar(1), sh(1), spell(1), svcs(1), troff(1), uname(1), uucp(1C), vi(1), acct(1M), cron(1M), dispadmin(1M), dladm(1M), fmd(1M), fsck(1M), init(1M), kernel(1M), mknod(1M), mount(1M), svcadm(1M), svccfg(1M), useradd(1M), ypbind(1M), mount(2), Intro(4), terminfo(4)