1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
8 <sect1 id="ch-tools-creatingdirs">
9 <?dbhtml filename="creatingdirs.html"?>
11 <title>Creating Directories</title>
13 <para>It is time to create the full structure in the LFS file system.</para>
15 <para>Create some root-level directories that are not in the limited set
16 required in the previous chapters by issuing the following command:</para>
18 <note><para>Some of the directories below have already been created earlier
19 with explicit instructions or when installing some packages. They are
20 repeated below for completeness.</para></note>
22 <screen><userinput>mkdir -pv /{boot,home,mnt,opt,srv}</userinput></screen>
24 <para>Create the required set of subdirectories below the root-level by
25 issuing the following commands:</para>
27 <screen><userinput>mkdir -pv /etc/{opt,sysconfig}
28 mkdir -pv /lib/firmware
29 mkdir -pv /media/{floppy,cdrom}
30 mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
31 mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
32 mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
33 mkdir -pv /usr/{,local/}share/man/man{1..8}
34 mkdir -pv /var/{cache,local,log,mail,opt,spool}
35 mkdir -pv /var/lib/{color,misc,locate}
38 ln -sfv /run/lock /var/lock
40 install -dv -m 0750 /root
41 install -dv -m 1777 /tmp /var/tmp</userinput></screen>
43 <para>Directories are, by default, created with permission mode 755, but
44 this is not desirable for all directories. In the commands above, two
45 changes are made—one to the home directory of user <systemitem
46 class="username">root</systemitem>, and another to the directories for
47 temporary files.</para>
49 <para>The first mode change ensures that not just anybody can enter
50 the <filename class="directory">/root</filename> directory—the
51 same as a normal user would do with his or her home directory. The
52 second mode change makes sure that any user can write to the
53 <filename class="directory">/tmp</filename> and <filename
54 class="directory">/var/tmp</filename> directories, but cannot remove
55 another user's files from them. The latter is prohibited by the so-called
56 <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
59 <title>FHS Compliance Note</title>
61 <para>The directory tree is based on the Filesystem Hierarchy Standard
62 (FHS) (available at <ulink
63 url="https://refspecs.linuxfoundation.org/fhs.shtml"/>). The FHS also specifies
64 the optional existence of some directories such as <filename
65 class="directory">/usr/local/games</filename> and <filename
66 class="directory">/usr/share/games</filename>. We create only the
67 directories that are needed. However, feel free to create these