Changeset d5f2a3f
- Timestamp:
- 05/07/2005 12:12:52 PM (19 years ago)
- Branches:
- 10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
- Children:
- b92d4b3
- Parents:
- 1f24363
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
introduction/important/position.xml
r1f24363 rd5f2a3f 7 7 8 8 <sect1 id="intro-important-position"> 9 <sect1info> 10 <othername>$LastChangedBy$</othername> 11 <date>$Date$</date> 12 </sect1info> 13 <?dbhtml filename="position.html"?> 14 <title>The /usr versus /usr/local debate</title> 9 <?dbhtml filename="position.html"?> 15 10 16 <para><emphasis>Should I install XXX in <filename>/usr</filename> or 17 <filename>/usr/local</filename>?</emphasis></para> 11 <sect1info> 12 <othername>$LastChangedBy$</othername> 13 <date>$Date$</date> 14 </sect1info> 18 15 19 <para>This is a question without an obvious answer for an 20 <acronym>LFS</acronym> based system.</para> 16 <title>The /usr Versus /usr/local Debate</title> 21 17 22 <para>In traditional Unix systems, <filename>/usr</filename> usually 23 contains files that come with the system distribution, and the <filename> 24 /usr/local</filename> tree is free for the local administrator to manage. 25 The only really hard and fast rule is that Unix distributions should not 26 touch <filename>/usr/local</filename>, except perhaps to create the basic 27 directories within it.</para> 18 <para><emphasis>Should I install XXX in <filename>/usr</filename> or 19 <filename>/usr/local</filename>?</emphasis></para> 28 20 29 <para>With Linux distributions, like Red Hat, Debian etc. a possible rule is 30 that <filename>/usr</filename> is managed by the distribution's 31 package system and <filename>/usr/local</filename> is not. This way the 32 package manager's database knows about every file within 33 <filename>/usr</filename>.</para> 21 <para>This is a question without an obvious answer for an 22 LFS based system.</para> 34 23 35 <para><acronym>LFS</acronym> users build their own system and so deciding where 36 the system ends and local files begin is not straightforward. So the choice 37 should be made in order to make things easier to administer. There are several 38 reasons for dividing files between <filename>/usr</filename> and 39 <filename>/usr/local</filename>.</para> 24 <para>In traditional Unix systems, <filename>/usr</filename> usually 25 contains files that come with the system distribution, and the <filename> 26 /usr/local</filename> tree is free for the local administrator to manage. 27 The only really hard and fast rule is that Unix distributions should not 28 touch <filename>/usr/local</filename>, except perhaps to create the basic 29 directories within it.</para> 40 30 41 <itemizedlist> 31 <para>With Linux distributions, like Red Hat, Debian etc. a possible rule is 32 that <filename>/usr</filename> is managed by the distribution's 33 package system and <filename>/usr/local</filename> is not. This way the 34 package manager's database knows about every file within 35 <filename>/usr</filename>.</para> 42 36 43 <listitem><para>On a network of several machines all running <acronym>LFS</acronym>, 44 or mixed <acronym>LFS</acronym> and other Linux distributions, 45 <filename>/usr/local</filename> could be used to hold packages 46 that are common between all the computers in the network. It can be 47 <acronym>NFS</acronym> mounted or mirrored from a single server. Here local 48 indicates local to the site.</para></listitem> 37 <para>LFS users build their own system and so deciding where 38 the system ends and local files begin is not straightforward. So the choice 39 should be made in order to make things easier to administer. There are several 40 reasons for dividing files between <filename>/usr</filename> and 41 <filename>/usr/local</filename>.</para> 49 42 50 <listitem><para>On a network of several computers all running an identical 51 <acronym>LFS</acronym> system <filename>/usr/local</filename> could hold 52 packages that are different between the machines. In this case local refers 53 to the individual computers.</para></listitem> 43 <itemizedlist> 44 <listitem> 45 <para>On a network of several machines all running LFS, 46 or mixed LFS and other Linux distributions, 47 <filename>/usr/local</filename> could be used to hold packages 48 that are common between all the computers in the network. It can be 49 NFS mounted or mirrored from a single server. Here local 50 indicates local to the site.</para> 51 </listitem> 52 <listitem> 53 <para>On a network of several computers all running an identical 54 LFS system <filename>/usr/local</filename> could hold 55 packages that are different between the machines. In this case local refers 56 to the individual computers.</para> 57 </listitem> 58 <listitem> 59 <para>Even on a single computer <filename>/usr/local</filename> can 60 be useful if you have several distributions installed simultaneously, and want 61 a place to put packages that will be the same on all of them.</para> 62 </listitem> 63 <listitem> 64 <para>Or you might regularly rebuild your LFS, but 65 want a place to put files that you don't want to rebuild each time. This way 66 you can wipe the LFS file system and start from a clean 67 partition every time without losing everything.</para> 68 </listitem> 69 </itemizedlist> 54 70 55 <listitem><para>Even on a single computer <filename>/usr/local</filename> can 56 be useful if you have several distributions installed simultaneously, and want 57 a place to put packages that will be the same on all of them.</para></listitem> 71 <para>Some people ask why not use your own directory tree, e.g., <filename> 72 /usr/site</filename>, rather than <filename>/usr/local</filename>?</para> 58 73 59 <listitem><para>Or you might regularly rebuild your <acronym>LFS</acronym>, but 60 want a place to put files that you don't want to rebuild each time. This way 61 you can wipe the <acronym>LFS</acronym> file system and start from a clean 62 partition every time without losing everything.</para></listitem> 74 <para>There is nothing stopping you, many sites do make their own trees, 75 however it makes installing new software more difficult. Automatic installers 76 often look for dependencies in <filename>/usr</filename> and 77 <filename>/usr/local</filename>, and if the file it is looking 78 for is in <filename>/usr/site</filename> instead, the installer will 79 probably fail unless you specifically tell it where to look.</para> 63 80 64 </itemizedlist>81 <para><emphasis>What is the BLFS position on this?</emphasis></para> 65 82 66 <para>Some people ask why not use your own directory tree, e.g., <filename> 67 /usr/site</filename>, rather than <filename>/usr/local</filename>?</para> 68 69 <para>There is nothing stopping you, many sites do make their own trees, 70 however it makes installing new software more difficult. Automatic installers 71 often look for dependencies in <filename>/usr</filename> and 72 <filename>/usr/local</filename>, and if the file it is looking 73 for is in <filename>/usr/site</filename> instead, the installer will 74 probably fail unless you specifically tell it where to look.</para> 75 76 <para><emphasis>What is the <acronym>BLFS</acronym> position on this?</emphasis> 77 </para> 78 79 <para>All of the <acronym>BLFS</acronym> instructions install programs in 80 <filename>/usr</filename> with optional instructions to install into 81 <filename>/opt</filename> for some specific packages.</para> 83 <para>All of the BLFS instructions install programs in 84 <filename>/usr</filename> with optional instructions to install into 85 <filename>/opt</filename> for some specific packages.</para> 82 86 83 87 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.