1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
<?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">
<title>Creating Directories</title>
<?dbhtml filename="creatingdirs.html"?>
<para>It is time to create some structure in the LFS file system.
Create a directory tree. Issuing the following commands will create a
standard tree:</para>
<screen><userinput>install -d /{bin,boot,dev,etc/opt,home,lib,mnt}
install -d /{sbin,srv,usr/local,var,opt}
install -d /root -m 0750
install -d /tmp /var/tmp -m 1777
install -d /media/{floppy,cdrom}
install -d /usr/{bin,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr
install -d /usr/share/{doc,info,locale,man}
install -d /usr/share/{misc,terminfo,zoneinfo}
install -d /usr/share/man/man{1,2,3,4,5,6,7,8}
install -d /usr/local/{bin,etc,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr/local
install -d /usr/local/share/{doc,info,locale,man}
install -d /usr/local/share/{misc,terminfo,zoneinfo}
install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}
install -d /var/{lock,log,mail,run,spool}
install -d /var/{opt,cache,lib/{misc,locate},local}
install -d /opt/{bin,doc,include,info}
install -d /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 this is not desirable for all directories. In the commands above,
two changes are made—one to the home directory of user
<emphasis>root</emphasis>, 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
other users' 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) standard (available at <ulink
url="http://www.pathname.com/fhs/"/>). Besides the tree created above,
this standard stipulates the existence of <filename
class="directory">/usr/local/games</filename> and <filename
class="directory">/usr/share/games</filename>. We do not recommend
these for a base system, however, feel free to make the system
FHS-compliant. The FHS is not precise as to the structure of the
<filename class="directory">/usr/local/share</filename> subdirectory,
so we created only the directories that are needed.</para>
</sect2>
</sect1>
|