Création des répertoires

Créons maintenant la hiérarchie de répertoires sur la partition de LFS, basé sur le standard FHS qui peut être trouvé sur http://www.pathname.com/fhs/. Lancer les commandes suivantes pour créer la hiérarchie par défaut des répertoires:

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

Normalement, les répertoires sont créés avec le mode de permission 755, ce qui n'est pas souhaité pour tous les répertoires. La première modification concerne le répertoire $LFS/root avec une permission 750. Ainsi, personne ne pourra entrer dans le répertoire /root (de façon identique à un utilisateur pour son répertoire /home/nomutilisateur). Le deuxième changement concerne les répertoires tmp avec un mode 1777. De cette façon, tout utilisateur peut écrire des données dans /tmp et /var/tmp mais ne peut pas supprimer des fichiers d'autres utilisateurs (ceci grâce au "sticky bit" - bit 1 du masque 1777).

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

Maintenant que les répertoires sont créés, copiez les fichiers sources qui ont été téléchargés dans le chapitre 3 sur un sous-répertoire de $LFS/usr/src (vous devrez créer ce répertoire vous-même).

Notes de conformité FHS

Le FHS stipule que le répertoire /usr/local doit contenir les sous-répertoires bin, games, include, lib, man, sbin et share. Vous pouvez modifier votre répertoire /usr/local vous-même si vous souhaitez que votre système soit en conformité avec FHS.

De la même manière, le standard indique qu'il doit exister un répertoire /usr/share/games, ce dont nous ne voulons pas pour un système de base. Mais n'hésitez pas à rendre votre système conforme à FHS si vous le souhaitez. Le FHS n'est pas très précis sur la structure des sous-répertoires de /usr/local/share, donc nous avons pris la liberté de créer les répertoires qui nous semblaient nécessaires.