lfs/chapter07/creatingdirs.xml
Pierre Labastie c88ec71538 Put back punctuation inside quotes
Reverts part of 811d59db8b.
Looks like "American English prefers that periods and commas be
placed inside closing quotation marks," according to
https://en.wikipedia.org/wiki/American_English
2024-01-24 14:39:09 +01:00

85 lines
3.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-creatingdirs">
<?dbhtml filename="creatingdirs.html"?>
<title>Creating Directories</title>
<para>It is time to create the full directory structure in the LFS file system.</para>
<note><para>Some of the directories mentioned in this section may have
already been created earlier with explicit instructions, or when installing some
packages. They are repeated below for completeness.</para></note>
<para>Create some root-level directories that are not in the limited set
required in the previous chapters by issuing the following command:</para>
<screen><userinput>mkdir -pv /{boot,home,mnt,opt,srv}</userinput></screen>
<para>Create the required set of subdirectories below the root-level by
issuing the following commands:</para>
<screen><userinput>mkdir -pv /etc/{opt,sysconfig}
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{include,src}
mkdir -pv /usr/local/{bin,lib,sbin}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
mkdir -pv /var/{cache,local,log,mail,opt,spool}
mkdir -pv /var/lib/{color,misc,locate}
ln -sfv /run /var/run
ln -sfv /run/lock /var/lock
install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp</userinput></screen>
<para>Directories are, by default, created with permission mode 755, but
this is not desirable everywhere. In the commands above, two
changes are made&mdash;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&mdash;just
like a normal user would do with his or her own 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>This directory tree is based on the Filesystem Hierarchy Standard
(FHS) (available at <ulink
url="https://refspecs.linuxfoundation.org/fhs.shtml"/>). The FHS also specifies
the optional existence of additional directories such as <filename
class="directory">/usr/local/games</filename> and <filename
class="directory">/usr/share/games</filename>. In LFS, we create only the
directories that are really necessary. However, feel free to create more
directories, if you wish. </para>
<warning>
<para>
The FHS does not mandate the existence of the directory
<filename class="directory">/usr/lib64</filename>, and the LFS editors
have decided not to use it. For the instructions in LFS and BLFS to work correctly,
it is imperative that this directory be non-existent. From time to time you should
verify that it does not exist, because it is easy to create it
inadvertently, and this will probably break your system.
</para>
</warning>
</sect2>
</sect1>