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-system-creatingdirs">
9 <?dbhtml filename="creatingdirs.html"?>
11 <title>Creating Directories</title>
13 <para>It is time to create some structure in the LFS file system. Create a
14 standard directory tree by issuing the following commands:</para>
16 <screen><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
17 mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
18 install -dv -m 0750 /root
19 install -dv -m 1777 /tmp /var/tmp
20 mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
21 mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
22 mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
24 mkdir -pv /usr/{,local/}share/man/man{1..8}
25 mkdir -v /usr/lib/pkgconfig
28 x86_64) mkdir -v /lib64 ;;
31 mkdir -v /var/{log,mail,spool}
33 ln -sv /run/lock /var/lock
34 mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}</userinput></screen>
36 <para>Directories are, by default, created with permission mode 755, but
37 this is not desirable for all directories. In the commands above, two
38 changes are made—one to the home directory of user <systemitem
39 class="username">root</systemitem>, and another to the directories for
40 temporary files.</para>
42 <para>The first mode change ensures that not just anybody can enter
43 the <filename class="directory">/root</filename> directory—the
44 same as a normal user would do with his or her home directory. The
45 second mode change makes sure that any user can write to the
46 <filename class="directory">/tmp</filename> and <filename
47 class="directory">/var/tmp</filename> directories, but cannot remove
48 another user's files from them. The latter is prohibited by the so-called
49 <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
52 <title>FHS Compliance Note</title>
54 <para>The directory tree is based on the Filesystem Hierarchy Standard
55 (FHS) (available at <ulink
56 url="https://refspecs.linuxfoundation.org/fhs.shtml"/>). The FHS also specifies
57 the optional existence of some directories such as <filename
58 class="directory">/usr/local/games</filename> and <filename
59 class="directory">/usr/share/games</filename>. We create only the
60 directories that are needed. However, feel free to create these