Updated to incorporate changes in FHS 2.3

This commit is contained in:
binh 2004-02-04 13:53:38 +00:00
parent f26ad22677
commit 3e9ea04fe1
1 changed files with 63 additions and 49 deletions

View File

@ -1,57 +1,71 @@
<sect1 id="opt"> <sect1 id="opt">
<title>/opt</title> <title>/opt</title>
<para> <para>
This directory is reserved for all the software and add-on packages This directory is reserved for all the software and add-on packages
that are not part of the default installation. For example, StarOffice, that are not part of the default installation. For example, StarOffice,
Kylix, Netscape Communicator and WordPerfect packages are normally Kylix, Netscape Communicator and WordPerfect packages are normally
found here. To comply with the FSSTND, all third party applications found here. To comply with the FSSTND, all third party applications
should be installed in this directory. Any package to be installed should be installed in this directory. Any package to be installed
here must locate its static files (ie. extra fonts, clipart, database here must locate its static files (ie. extra fonts, clipart, database
files) in a separate /opt/'package-name' directory tree (similar to files) must locate its static files in a separate /opt/'package'
the way in which Windows will install new software to its own directory or /opt/'provider' directory tree (similar to the way in which Windows
tree C:\Windows\Progam Files\"Program Name"), where 'package-name' is will install new software to its own directory tree
a name that describes the software package.</para> C:\Windows\Progam Files\"Program Name"), where 'package' is a name that
describes the software package and 'provider' is the provider's LANANA
registered name.
</para>
<para> <para>
Although most distributions neglect to create the directories /opt/bin, Although most distributions neglect to create the directories /opt/bin,
/opt/doc, /opt/include, /opt/info, /opt/lib, and /opt/man they are /opt/doc, /opt/include, /opt/info, /opt/lib, and /opt/man they are
reserved for local system administrator use. Packages may provide reserved for local system administrator use. Packages may provide
"front-end" files intended to be placed in (by linking or copying) "front-end" files intended to be placed in (by linking or copying)
these reserved directories, but must function normally in the absence these reserved directories by the system administrator, but must function
of these reserved directories. Programs to be invoked by users are normally in the absence of these reserved directories. Programs to be
located in the directory /opt/'package-name'/bin. If the package invoked by users are located in the directory /opt/'package'/bin. If
includes UNIX manual pages, they are located in /opt/'package-name'/man the package includes UNIX manual pages, they are located in /opt/'package'/man
and the same substructure as /usr/share/man must be used. Package files and the same substructure as /usr/share/man must be used. Package files
that are variable must be installed in /var/opt. Host-specific that are variable must be installed in /var/opt. Host-specific
configuration files are installed in /etc/opt. configuration files are installed in /etc/opt.
</para> </para>
<para> <para>
Under no circumstances are other package files to exist outside Under no circumstances are other package files to exist outside
the /opt, /var/opt, and /etc/opt hierarchies except for those package the /opt, /var/opt, and /etc/opt hierarchies except for those package
files that must reside in specific locations within the filesystem tree files that must reside in specific locations within the filesystem tree
in order to function properly. For example, device lock files in /var/lock in order to function properly. For example, device lock files in /var/lock
and devices in /dev. Distributions may install software in /opt but this and devices in /dev. Distributions may install software in /opt, but must
is not recommended practice. not modify or delete software installed by the local system administrator
</para> without the assent of the local system administrator.
</para>
<para>
The use of /opt for add-on software is a well-established practice <para>
in the UNIX community. The System V Application Binary Interface The use of /opt for add-on software is a well-established practice
[AT&amp;T 1990], based on the System V Interface Definition (Third Edition) in the UNIX community. The System V Application Binary Interface
and the Intel Binary Compatibility Standard v. 2 (iBCS2) provides for an [AT&amp;T 1990], based on the System V Interface Definition (Third Edition)
/opt structure very similar to the one defined here. and the Intel Binary Compatibility Standard v. 2 (iBCS2) provides for an
</para> /opt structure very similar to the one defined here.
</para>
<para>Generally, all data required to support a package on a system <para>
must be present within /opt/'package-name', including files intended Generally, all data required to support a package on a system
to be copied into /etc/opt/'package-name' and /var/opt/'package-name' must be present within /opt/'package', including files intended
as well as reserved directories in /opt. The minor restrictions on to be copied into /etc/opt/'package' and /var/opt/'package'
distributions using /opt are necessary because conflicts are possible as well as reserved directories in /opt. The minor restrictions on
between distribution installed and locally installed software, especially distributions using /opt are necessary because conflicts are possible
in the case of fixed pathnames found in some binary software. between distribution installed and locally installed software, especially
</para> in the case of fixed pathnames found in some binary software.
</para>
<para>
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.
</para>
</sect1> </sect1>