Updated to incorporate changes in FHS 2.3

This commit is contained in:
binh 2004-05-11 03:42:59 +00:00
parent 6ed65b5ae5
commit 0aa283d96f
2 changed files with 84 additions and 25 deletions

View File

@ -1,7 +1,32 @@
<sect1 id="usr">
<title>/usr</title>
<para>/usr usually contains by far the largest share of data on a system. Hence, this is one of the most important directories in the system as it contains all the user binaries, their documentation, libraries, header files, etc.... X and its supporting libraries can be found here. User programs like telnet, ftp, etc.... are also placed here. In the original Unix implementations, /usr was where the home directories of the users were placed (that is to say, /usr/someone was then the directory now known as /home/someone). In current Unices, /usr is where user-land programs and data (as opposed to 'system land' programs and data) are. The name hasn't changed, but it's meaning has narrowed and lengthened from "everything user related" to "user usable programs and data". As such, some people may now refer to this directory as meaning 'User System Resources' and not 'user' as was originally intended.</para>
<para>
/usr usually contains by far the largest share of data on a system. Hence,
this is one of the most important directories in the system as it contains
all the user binaries, their documentation, libraries, header files, etc....
X and its supporting libraries can be found here. User programs like telnet,
ftp, etc.... are also placed here. In the original Unix implementations, /usr
was where the home directories of the users were placed (that is to say,
/usr/someone was then the directory now known as /home/someone). In current
Unices, /usr is where user-land programs and data (as opposed to 'system land'
programs and data) are. The name hasn't changed, but it's meaning has narrowed
and lengthened from "everything user related" to "user usable programs and data".
As such, some people may now refer to this directory as meaning 'User System Resources'
and not 'user' as was originally intended.
</para>
<para>
<screen>
/usr is shareable, read-only data. That means that /usr should
be shareable between various FHS-compliant hosts and must not be written to.
Any information that is host-specific or varies with time is stored elsewhere.
Large software packages must not use a direct subdirectory under the /usr
hierarchy.
</screen>
</para>
<para><variablelist>

View File

@ -1,20 +1,41 @@
<sect1 id="var">
<title>/var</title>
<para>Contains variable data like system logging files, mail and printer
spool directories. It is specific for each system, i.e., not shared over the
network with other computers. Why not put it into /usr? Because there might
<para>
Contains variable data like system logging files, mail and printer
spool directories, and transient and temporary files.
Some portions of /var are not shareable between different systems. For
instance, /var/log, /var/lock, and /var/run. Other portions may be shared,
notably /var/mail, /var/cache/man, /var/cache/fonts, and /var/spool/news.
Why not put it into /usr? Because there might
be circumstances when you may want to mount /usr as read-only, e.g. if it is
on a CD or on another computer. &#39;/var&#39; contains variable data, i.e.
files and directories the system must be able to write to during operation,
whereas /usr should only contain static data. Some of these directories can
whereas /usr should only contain static data. Some directories can
be put onto separate partitions or systems, e.g. for easier backups, due to
network topology or security concerns. Other directories have to be on the
root partition, because they are vital for the boot process.
&#39;Mountable&#39; directories are: &#39;/home&#39;, &#39;/mnt&#39;,
&#39;/tmp&#39;, &#39;/usr&#39; and &#39;/var&#39;. Essential for booting
are: &#39;/bin&#39;, &#39;/boot&#39;, &#39;/dev&#39;, &#39;/etc&#39;,
&#39;/lib&#39;, &#39;/proc&#39; and &#39;/sbin&#39;.</para>
&#39;/lib&#39;, &#39;/proc&#39; and &#39;/sbin&#39;.
</para>
<para>
<screen>
If /var cannot be made a separate partition, it is often preferable to move /
var out of the root partition and into the /usr partition. (This is sometimes
done to reduce the size of the root partition or when space runs low in the
root partition.) However, /var must not be linked to /usr because this makes
separation of /usr and /var more difficult and is likely to create a naming
conflict. Instead, link /var to /usr/var.
Applications must generally not add directories to the top level of /var. Such
directories should only be added if they have some system-wide implication, and
in consultation with the FHS mailing list.
</screen>
</para>
<para><variablelist><varlistentry><term>/var/backups</term><listitem><para>Directory
containing backups of various key system files such as /etc/shadow,
@ -32,7 +53,9 @@
and backup policies from other directories in /var.</para></listitem></varlistentry>
<varlistentry><term>/var/cache/fonts</term><listitem><para>Locally-generated
fonts.</para></listitem></varlistentry>
fonts. In particular, all of the fonts which are automatically generated by
mktexpk must be located in appropriately-named subdirectories of /var/cache/
fonts. </para></listitem></varlistentry>
<varlistentry><term>/var/cache/man</term><listitem><para>A
cache for man pages that are formatted on demand. The source for manual
@ -83,7 +106,7 @@
included in the distribution. /var/lib/&#39;name&#39; is the location that
must be used for all distribution packaging support. Different distributions
may use different names, of course.</para></listitem></varlistentry>
<varlistentry><term>/var/local</term><listitem><para>Variable
data for local programs (i.e., programs that have been installed by the
system administrator) that are installed in /usr/local (as opposed to a
@ -227,27 +250,38 @@
<para>The following directories, or symbolic links to directories, are
required in /var for FSSTND compliance:</para>
<para><screen>
/var/cache Application cache data
/var/lib Variable state information
/var/local Variable data for /usr/local
/var/lock Lock files
/var/log Log files and directories
/var/opt Variable data for /opt
/var/run Data relevant to running processes
/var/spool Application spool data
/var/tmp Temporary files preserved between system reboots
</screen></para>
<para><screen>
/var/cache Application cache data
/var/lib Variable state information
/var/local Variable data for /usr/local
/var/lock Lock files
/var/log Log files and directories
/var/opt Variable data for /opt
/var/run Data relevant to running processes
/var/spool Application spool data
/var/tmp Temporary files preserved between system reboots
</screen></para>
<para>Several directories are &#39;reserved&#39; in the sense that they must
not be used arbitrarily by some new application, since they would conflict
with historical and/or local practice. They are:</para>
<para><screen>
/var/backups
/var/cron
/var/msgs
/var/preserve
</screen></para>
<para><screen>
/var/backups
/var/cron
/var/msgs
/var/preserve
</screen></para>
<para>The following directories, or symbolic links to directories, must be in /var,
if the corresponding subsystem is installed:</para>
<para><screen>
account Process accounting logs (optional)
crash System crash dumps (optional)
games Variable game data (optional)
mail User mailbox files (optional)
yp Network Information Service (NIS) database files (optional)
</screen></para>
</sect1>