source: introduction/important/position.xml@ eede1a3

11.0 ken/refactor-virt lazarus qt5new trunk upgradedb
Last change on this file since eede1a3 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 9 months ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

  • Property mode set to 100644
File size: 4.1 KB
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
8<sect1 id="position">
9 <?dbhtml filename="position.html"?>
11 <sect1info>
12 <date>$Date$</date>
13 </sect1info>
15 <title>The /usr Versus /usr/local Debate</title>
17 <para><emphasis>Should I install XXX in <filename>/usr</filename> or
18 <filename>/usr/local</filename>?</emphasis></para>
20 <para>This is a question without an obvious answer for an
21 LFS based system.</para>
23 <para>In traditional Unix systems,
24 <filename class='directory'>/usr</filename> usually contains files that come
25 with the system distribution, and the
26 <filename class='directory'>/usr/local</filename> tree is free for the local
27 administrator to manage. The only really hard and fast rule is that Unix
28 distributions should not touch
29 <filename class='directory'>/usr/local</filename>, except perhaps to create
30 the basic directories within it.</para>
32 <para>With Linux distributions like Red Hat, Debian, etc., a possible rule is
33 that <filename class='directory'>/usr</filename> is managed by the
34 distribution's package system and
35 <filename class='directory'>/usr/local</filename> is not. This way the
36 package manager's database knows about every file within
37 <filename class='directory'>/usr</filename>.</para>
39 <para>LFS users build their own system and so deciding where
40 the system ends and local files begin is not straightforward. So the choice
41 should be made in order to make things easier to administer. There are
42 several reasons for dividing files between
43 <filename class='directory'>/usr</filename> and
44 <filename class='directory'>/usr/local</filename>.</para>
46 <itemizedlist>
47 <listitem>
48 <para>On a network of several machines all running LFS, or mixed LFS and
49 other Linux distributions,
50 <filename class='directory'>/usr/local</filename> could be used to hold
51 packages that are common between all the computers in the network. It can
52 be NFS mounted or mirrored from a single server. Here local indicates
53 local to the site.</para>
54 </listitem>
55 <listitem>
56 <para>On a network of several computers all running an identical
57 LFS system, <filename class='directory'>/usr/local</filename> could hold
58 packages that are different between the machines. In this case local
59 refers to the individual computers.</para>
60 </listitem>
61 <listitem>
62 <para>Even on a single computer,
63 <filename class='directory'>/usr/local</filename> can be useful if you
64 have several distributions installed simultaneously, and want
65 a place to put packages that will be the same on all of them.</para>
66 </listitem>
67 <listitem>
68 <para>Or you might regularly rebuild your LFS, but
69 want a place to put files that you don't want to rebuild each time. This
70 way you can wipe the LFS file system and start from a clean
71 partition every time without losing everything.</para>
72 </listitem>
73 </itemizedlist>
75 <para>Some people ask why not use your own directory tree, e.g.,
76 <filename class='directory'>/usr/site</filename>, rather than
77 <filename class='directory'>/usr/local</filename>?</para>
79 <para>There is nothing stopping you, many sites do make their own trees,
80 however it makes installing new software more difficult. Automatic installers
81 often look for dependencies in
82 <filename class='directory'>/usr</filename> and
83 <filename class='directory'>/usr/local</filename>, and if the file it is
84 looking for is in <filename class='directory'>/usr/site</filename> instead,
85 the installer will probably fail unless you specifically tell it where to
86 look.</para>
88 <para><emphasis>What is the BLFS position on this?</emphasis></para>
90 <para>All of the BLFS instructions install programs in
91 <filename class='directory'>/usr</filename> with optional instructions to
92 install into <filename class='directory'>/opt</filename> for some specific
93 packages.</para>
Note: See TracBrowser for help on using the repository browser.