Creando directorios

Ahora vamos a crear, en la partición LFS, el árbol de directorios basado en el estándar FHS, el cual se puede encontrar en http://www.pathname.com/fhs/. Siguiendo los siguientes pasos crearemos la estructura del árbol de directorios por defecto:

cd $LFS &&
mkdir -p bin boot dev/pts etc/opt home lib mnt proc root sbin tmp var opt &&
for dirname in $LFS/usr $LFS/usr/local
   do
   mkdir $dirname
   cd $dirname
   mkdir bin etc include lib sbin share src
   ln -s share/man
   ln -s share/doc
   ln -s share/info
   cd $dirname/share
   mkdir dict doc info locale man nls misc terminfo zoneinfo
   cd $dirname/share/man
   mkdir man{1,2,3,4,5,6,7,8}
done &&
cd $LFS/var &&
mkdir -p lock log mail run spool tmp opt cache lib/misc local &&
cd $LFS/opt &&
mkdir bin doc include info lib man &&
cd $LFS/usr &&
ln -s ../var/tmp

Normalmente los directorios se crean con los permisos 755, lo que no es una buena opción para todos los directorios. El primer cambio es establecer los permisos 0750 para el directorio $LFS/root. Esto nos asegura que no todos los usuarios tengan acceso al directorio /root (lo mismo que debería hacer cualquier usuario con los directorios /home/username). El segundo cambio es establecer los permisos 1777 para los directorios tmp. De esta manera cualquier usuario puede escribir en los directorios /tmp o /var/tmp, pero no pueden borrar los ficheros de otros usuarios (de esto último se encarga el llamado "bit pegajoso" (sticky bit) - bit 1 de la máscara de permisos 1777).

cd $LFS &&
chmod 0750 root &&
chmod 1777 tmp var/tmp

Ahora que se han creado los directorios debes copiar los ficheros fuente que fueron descargados en el capítulo 3 a algún directorio que cuelgue de $LFS/usr/src (tendrás que crear el directorio en el que desees meter los fuentes).

Nota: conformidad con el estándar FHS

FHS estipula que el directorio /usr/local debe contener los subdirectorios bin, games, include, lib, man, sbin y share. Puedes cambiar el directorio /usr/local si deseas seguir el estándar FHS.

Además, el estándar indica que debe existir el directorio /usr/share/games, el cual no nos gusta mucho para un sistema básico, pero puedes crearlo si deseas mantener el estándar. FHS no es muy preciso respecto a la estructura de los subdirectorios de /usr/local/share, así que nos podemos tomar la libertad de crear los directorios que nos parezcan más apropiados para nuestras necesidades.