| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [  <!ENTITY % general-entities SYSTEM "../general.ent">  %general-entities;]><sect1 id="ch-system-creatingdirs">  <?dbhtml filename="creatingdirs.html"?>  <title>Creating Directories</title>  <para>It is time to create some structure in the LFS file system. Create a  standard directory tree by issuing the following commands:</para><screen><userinput>mkdir -pv /{bin,boot,etc/opt,home,lib,mnt,opt}mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}install -dv -m 0750 /rootinstall -dv -m 1777 /tmp /var/tmpmkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}mkdir -pv /usr/{,local/}share/{doc,info,locale,man}mkdir -v  /usr/{,local/}share/{misc,terminfo,zoneinfo}mkdir -pv /usr/{,local/}share/man/man{1..8}for dir in /usr /usr/local; do  ln -sv share/{man,doc,info} $dirdonemkdir -v /var/{lock,log,mail,run,spool}mkdir -pv /var/{opt,cache,lib/{misc,locate},local}</userinput></screen>  <para>Directories are, by default, created with permission mode 755, but  this is not desirable for all directories. In the commands above, two  changes are made—one to the home directory of user <systemitem  class="username">root</systemitem>, and another to the directories for  temporary files.</para>  <para>The first mode change ensures that not just anybody can enter  the <filename class="directory">/root</filename> directory—the  same as a normal user would do with his or her home directory. The  second mode change makes sure that any user can write to the  <filename class="directory">/tmp</filename> and <filename  class="directory">/var/tmp</filename> directories, but cannot remove  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>  <sect2>    <title>FHS Compliance Note</title>    <para>The directory tree is based on the Filesystem Hierarchy Standard (FHS)    (available at <ulink url="http://www.pathname.com/fhs/"/>). In addition to    the FHS, we create compatibility symlinks for the <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/<directory></filename> or <filename    class="directory">/usr/local/<directory></filename> as opposed to    <filename class="directory">/usr/share/<directory></filename> or    <filename class="directory">/usr/local/share/<directory></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    the structure of the <filename class="directory">/usr/local/share</filename>    subdirectory, so we create only the directories that are needed. However,    feel free to create these directories if you prefer to conform more strictly    to the FHS.</para>  </sect2></sect1>
 |