It is time to create some structure in the CLFS file system. Create a standard directory tree by issuing the following commands:
mkdir -pv ${CLFS}/{bin,boot,dev,{etc/,}opt,home,lib/{firmware,modules},mnt}
mkdir -pv ${CLFS}/{proc,media/{floppy,cdrom},sbin,srv,sys}
mkdir -pv ${CLFS}/var/{lock,log,mail,run,spool}
mkdir -pv ${CLFS}/var/{opt,cache,lib/{misc,locate},local}
install -dv -m 0750 ${CLFS}/root
install -dv -m 1777 ${CLFS}{/var,}/tmp
mkdir -pv ${CLFS}/usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv ${CLFS}/usr/{,local/}share/{doc,info,locale,man}
mkdir -pv ${CLFS}/usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv ${CLFS}/usr/{,local/}share/man/man{1,2,3,4,5,6,7,8}
mkdir -pv ${CLFS}/cross-tools{,/bin}
for dir in ${CLFS}/usr{,/local}; do
ln -sv share/{man,doc,info} ${dir}
doneDirectories 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 root, and another to the directories for
temporary files.
The first mode change ensures that not just anybody can enter
the /root 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
/tmp and /var/tmp directories, but cannot remove
another user's files from them. The latter is prohibited by the so-called
“sticky bit,” the highest bit (1) in the 1777 bit mask.
The directory tree is based on the Filesystem Hierarchy Standard (FHS)
(available at http://www.pathname.com/fhs/). In addition to
the FHS, we create compatibility symlinks for the man, doc, and info directories since many packages still try
to install their documentation into /usr/<directory> or /usr/local/<directory> as opposed to
/usr/share/<directory> or
/usr/local/share/<directory>.
The FHS also stipulates the existence of /usr/local/games and /usr/share/games. The FHS is not precise as to
the structure of the /usr/local/share
subdirectory, so we create only the directories that are needed. However,
feel free to create these directories if you prefer to conform more strictly
to the FHS.