/opt
is reserved for the installation of
add-on application software packages.
A package to be installed in /opt
must
locate its static files in a separate
/opt/<package>
or
/opt/<provider>
directory
tree, where <package>
is a name that
describes the software package and
<provider>
is the provider's LANANA
registered name.
Directory | Description |
---|---|
<package> | Static package objects |
<provider> | LANANA registered provider name |
The directories /opt/bin
,
/opt/doc
, /opt/include
,
/opt/info
, /opt/lib
, and
/opt/man
are reserved for local system
administrator use. Packages may provide "front-end" files intended to
be placed in (by linking or copying) these reserved directories by the
local system administrator, but must function normally in the absence
of these reserved directories.
Programs to be invoked by users must be located in the directory
/opt/<package>/bin
or under the
/opt/<provider>
hierarchy. If the package
includes UNIX manual pages, they must be located in
/opt/<package>/share/man
or under the
/opt/<provider>
hierarchy, and the same
substructure as /usr/share/man
must be
used.
Package files that are variable (change in normal operation)
must be installed in /var/opt
. See the section
on /var/opt
for more information.
Host-specific configuration files must be installed in
/etc/opt
. See the section on
/etc
for more information.
No other package files may exist outside the
/opt
, /var/opt
, and
/etc/opt
hierarchies except for those package
files that must reside in specific locations within the filesystem
tree in order to function properly. For example, device lock files
must be placed in /var/lock
and devices must be
located in /dev
.
Distributions may install and otherwise manage software in
/opt
under an appropriately registered
subdirectory.
The use of /opt
for add-on software is a
well-established practice in the UNIX community. The System V
Application Binary Interface [AT&T 1990], based on the System V
Interface Definition (Third Edition), provides for an
/opt
structure very similar to the one defined
here.
The Intel Binary Compatibility Standard v. 2 (iBCS2) also
provides a similar structure for /opt
.
Generally, all data required to support a package on a system
must be present within /opt/<package>
,
including files intended to be copied into
/etc/opt/<package>
and
/var/opt/<package>
as well as reserved
directories in /opt
.
The minor restrictions on distributions using
/opt
are necessary because conflicts are possible
between distribution-installed and locally-installed software,
especially in the case of fixed pathnames found in some binary
software.
The structure of the directories below
/opt/<provider>
is left up to the packager
of the software, though it is recommended that packages are installed
in /opt/<provider>/<package>
and
follow a similar structure to the guidelines for
/opt/<package>
. A valid reason for diverging from
this structure is for support packages which may have files installed
in /opt/<provider>/lib
or
/opt/<provider>/bin
.