| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | <sect1 id="ch06-creatingdirs"><title>Creating directories</title><?dbhtml filename="creatingdirs.html" dir="chapter06"?><para>Let's now create some structure in our LFS file system. Let's createa directory tree. Issuing the following commands will create a more or lessstandard tree:</para> <para><screen><userinput>mkdir -p /{bin,boot,dev/{pts,shm},etc/opt,home,lib,mnt,proc} mkdir -p /{root,sbin,tmp,usr/local,var,opt}for dirname in /usr /usr/local    do    mkdir $dirname/{bin,etc,include,lib,sbin,share,src}    ln -s share/{man,doc,info} $dirname    mkdir $dirname/share/{dict,doc,info,locale,man}    mkdir $dirname/share/{nls,misc,terminfo,zoneinfo}    mkdir $dirname/share/man/man{1,2,3,4,5,6,7,8}donemkdir /var/{lock,log,mail,run,spool}mkdir -p /var/{tmp,opt,cache,lib/misc,local}mkdir /opt/{bin,doc,include,info}mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen></para><para>Directories are, by default, created with permission mode 755, but thisisn't desirable for all directories. We will make two changes: one to the homedirectory of root, and another to the directories for temporary files.</para><para><screen><userinput>chmod 0750 /rootchmod 1777 /tmp /var/tmp</userinput></screen></para><para>The first mode change ensures that not just anybody can enter the<filename class="directory">/root</filename> directory -- the sameas 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, butcannot remove other users' files from them. The latter is prohibitedby the so-called "sticky bit" -- the highest bit in the 1777 bit mask.</para><sect2><title>FHS compliance note</title><para>We have based our directory tree on the FHS standard (available at<ulink url="http://www.pathname.com/fhs/"/>). Besides the above createdtree this standard stipulates the existence of<filename class="directory">/usr/local/games</filename> and<filename class="directory">/usr/share/games</filename>, but we don'tmuch like these for a base system. However, feel free to make your systemFHS-compliant. As to the structure of the<filename class="directory">/usr/local/share</filename> subdirectory, the FHSisn't precise, so we created here the directories that we think are needed.</para></sect2></sect1>
 |