Made the directory tree creation more concise and removed the extraneous

/opt/* hierarchy (it is not required by FHS). Closes ticket #1656.


git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7593 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Archaic 2006-05-08 06:52:28 +00:00
parent b70aeae6e7
commit 83b720b0b5
3 changed files with 39 additions and 33 deletions

View File

@ -36,6 +36,17 @@
</listitem> </listitem>
--> -->
<listitem>
<para>May 8, 2006</para>
<itemizedlist>
<listitem>
<para>[archaic] - Made the directory tree creation more concise and
removed the extraneous /opt/* hierarchy (it is not required by
FHS). Closes ticket #1656.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>May 7, 2006</para> <para>May 7, 2006</para>
<itemizedlist> <itemizedlist>

View File

@ -13,25 +13,19 @@
<para>It is time to create some structure in the LFS file system. Create a <para>It is time to create some structure in the LFS file system. Create a
standard directory tree by issuing the following commands:</para> standard directory tree by issuing the following commands:</para>
<screen><userinput>install -dv /{bin,boot,etc/opt,home,lib,mnt} <screen><userinput>mkdir -pv /{bin,boot,etc/opt,home,lib,mnt,opt}
install -dv /{sbin,srv,usr/local,var,opt} mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
install -dv /root -m 0750 install -dv -m 0750 /root
install -dv /tmp /var/tmp -m 1777 install -dv -m 1777 /tmp /var/tmp
install -dv /media/{floppy,cdrom} mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
install -dv /usr/{bin,include,lib,sbin,share,src} mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
ln -sv share/{man,doc,info} /usr mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
install -dv /usr/share/{doc,info,locale,man} mkdir -pv /usr/{,local/}share/man/man{1..8}
install -dv /usr/share/{misc,terminfo,zoneinfo} for dir in /usr /usr/local; do
install -dv /usr/share/man/man{1..8} ln -sv share/{man,doc,info} $dir
install -dv /usr/local/{bin,etc,include,lib,sbin,share,src} done
ln -sv share/{man,doc,info} /usr/local mkdir -v /var/{lock,log,mail,run,spool}
install -dv /usr/local/share/{doc,info,locale,man} mkdir -pv /var/{opt,cache,lib/{misc,locate},local}</userinput></screen>
install -dv /usr/local/share/{misc,terminfo,zoneinfo}
install -dv /usr/local/share/man/man{1,2,3,4,5,6,7,8}
install -dv /var/{lock,log,mail,run,spool}
install -dv /var/{opt,cache,lib/{misc,locate},local}
install -dv /opt/{bin,doc,include,info}
install -dv /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
<para>Directories are, by default, created with permission mode 755, but <para>Directories are, by default, created with permission mode 755, but
this is not desirable for all directories. In the commands above, two this is not desirable for all directories. In the commands above, two
@ -48,21 +42,22 @@ install -dv /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
another user's files from them. The latter is prohibited by the so-called another user's files from them. The latter is prohibited by the so-called
<quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para> <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
<note>
<para>Notice the two different constructions above for creating multiple
man directories: <command>install -d /usr/share/man/man{1..8}</command> and
<command>install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}</command>. The
first one is new since Bash 3.0. This new feature will help make repetitive
commands easier to type.</para>
</note>
<sect2> <sect2>
<title>FHS Compliance Note</title> <title>FHS Compliance Note</title>
<para>The directory tree is based on the Filesystem Hierarchy Standard <para>The directory tree is based on the Filesystem Hierarchy Standard (FHS)
(FHS) (available at <ulink url="http://www.pathname.com/fhs/"/>). In (available at <ulink url="http://www.pathname.com/fhs/"/>). In addition to
addition to the tree created above, this standard stipulates the existence the FHS, we create compatibility symlinks for the <filename
of <filename class="directory">/usr/local/games</filename> and <filename class="directory">man</filename>, <filename
class="directory">doc</filename>, and <filename
class="directory">info</filename> directories since many packages still try
to install their documentation into <filename
class="directory">/usr/&lt;directory&gt;</filename> or <filename
class="directory">/usr/local/&lt;directory&gt;</filename> as opposed to
<filename class="directory">/usr/share/&lt;directory&gt;</filename> or
<filename class="directory">/usr/local/share/&lt;directory&gt;</filename>.
The FHS also stipulates the existence of <filename
class="directory">/usr/local/games</filename> and <filename
class="directory">/usr/share/games</filename>. The FHS is not precise as to class="directory">/usr/share/games</filename>. The FHS is not precise as to
the structure of the <filename class="directory">/usr/local/share</filename> the structure of the <filename class="directory">/usr/local/share</filename>
subdirectory, so we create only the directories that are needed. However, subdirectory, so we create only the directories that are needed. However,

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!ENTITY version "SVN-20060507"> <!ENTITY version "SVN-20060508">
<!ENTITY releasedate "May 7, 2006"> <!ENTITY releasedate "May 8, 2006">
<!ENTITY milestone "6.2"> <!ENTITY milestone "6.2">
<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->