mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
b77b166f1e
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@833 af4574ff-66df-0310-9fd7-8a98e5e911e0
83 lines
3.5 KiB
XML
83 lines
3.5 KiB
XML
<sect1 id="intro-important-position">
|
|
<?dbhtml filename="position.html" dir="introduction"?>
|
|
<title>The /usr versus /usr/local debate</title>
|
|
|
|
<para><emphasis>Should I install XXX in /usr or
|
|
/usr/local?</emphasis></para>
|
|
|
|
<para>This is a question without an obvious answer for an LFS based
|
|
system.</para>
|
|
|
|
<para>In traditional unix systems, <filename>/usr</filename> usually
|
|
contains files that come
|
|
with the system distribution, and the <filename>/usr/local</filename> tree
|
|
is free for the local administrator to add things to. The only
|
|
really hard and fast
|
|
rule is that unix distributions should not touch
|
|
<filename>/usr/local</filename>, except
|
|
perhaps for creating the basic directories within it.</para>
|
|
|
|
<para>With Linux distributions, like Red Hat, Debian etc. a possible rule is
|
|
that <filename>/usr</filename> is managed by the distribution's
|
|
package system and <filename>/usr/local</filename> is not. This way the
|
|
package manager's database knows about every file within
|
|
<filename>/usr</filename>.</para>
|
|
|
|
<para>LFS users build their own system and so deciding where the system ends
|
|
and local files begin is not straightforward. So the choice should be
|
|
made in order to make things easier to administer. There are several
|
|
reasons for dividing files between <filename>/usr</filename> and
|
|
<filename>/usr/local</filename>.</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>On a network of several machines all running LFS, or mixed
|
|
LFS and
|
|
other Linux distributions, <filename>/usr/local</filename> could be used to
|
|
hold packages
|
|
that are common between all the computers in the network. It can be
|
|
NFS mounted or mirrored from a single server. Here local indicates
|
|
local to the site.</para></listitem>
|
|
|
|
<listitem><para>On a network of several computers all running an identical
|
|
LFS system <filename>/usr/local</filename> could hold packages that
|
|
are different between the machines. In this case local refers to
|
|
the individual computers.</para></listitem>
|
|
|
|
<listitem><para>Even on a single computer <filename>/usr/local</filename> can
|
|
be useful if you have several distributions installed simultaneously, and want
|
|
a place to put packages that will be the same on all of
|
|
them.</para></listitem>
|
|
|
|
<listitem><para>Or you might regularly rebuild your LFS, but want
|
|
a place to put files
|
|
that you don't want to rebuild each time. This way you can wipe the
|
|
LFS filesystem and start from a clean partition every time without losing
|
|
everything.</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<para>Some people ask why not use your own directory tree, e.g.
|
|
<filename>/usr/site</filename> rather than
|
|
<filename>/usr/local</filename>?</para>
|
|
|
|
<para>There is nothing stopping you, many sites do make their own trees, however
|
|
it makes installing new software more difficult. Automatic installers
|
|
often look for dependencies in <filename>/usr</filename> and
|
|
<filename>/usr/local</filename>, and if the file it is looking
|
|
for is in <filename>/usr/site</filename> instead, the installer will
|
|
probably fail unless
|
|
you specifically tell it where to look.</para>
|
|
|
|
<para><emphasis>What is the BLFS position on this?</emphasis></para>
|
|
|
|
<para>All of the BLFS instructions install programs in
|
|
<filename>/usr</filename> unless specifically stated otherwise. There
|
|
are examples where some files are placed in the
|
|
<filename>/usr/local</filename> hierarchy but these are documented and
|
|
are generally for a good reason. These exceptions should be well documented
|
|
in the book. If you think you have
|
|
found one which isn't please tell us!</para>
|
|
|
|
</sect1>
|