7.5. Création des répertoires

Il est temps de créer la structure complète du système de fichiers LFS.

[Note]

Note

Certains des répertoires suivants ont déjà été créés plus tôt avec des instructions explicites ou lors de l'installation de certains paquets. Ils sont répétés ici par souci d'exhaustivité.

Créez quelques répertoires dans la racine qui ne font pas partie de l'ensemble limité requis dans les chapitres précédents, à l'aide de la commande suivante :

mkdir -pv /{boot,home,mnt,opt,srv}

Créez l'ensemble de sous-répertoires requis sous la racine en exécutant les commandes suivantes :

mkdir -pv /etc/{opt,sysconfig}
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{include,src}
mkdir -pv /usr/lib/locale
mkdir -pv /usr/local/{bin,lib,sbin}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
mkdir -pv /var/{cache,local,log,mail,opt,spool}
mkdir -pv /var/lib/{color,misc,locate}

ln -sfv /run /var/run
ln -sfv /run/lock /var/lock

install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp

Par défaut, les répertoires sont créés avec le mode d'autorisation 755, ce qui n'est pas souhaitable pour tous les répertoires. Dans la commande ci-dessus, deux modifications sont effectuées : une pour le répertoire principal de root et une autre pour les répertoires des fichiers temporaires.

Le premier changement de mode garantit que n'importe qui ne pourra pas entrer dans le répertoire /root, de façon identique à ce que ferait un utilisateur normal pour son répertoire principal. Le deuxième changement veille à ce que tout utilisateur puisse écrire dans les répertoires /tmp et /var/tmp, mais ne puisse pas supprimer les fichiers des autres utilisateurs. Cette dernière interdiction est due au « sticky bit », le bit (1) le plus haut dans le masque 1777.

7.5.1. Remarques à propos de la conformité FHS

L'arborescence des répertoires est basée sur le standard FHS (Filesystem Hierarchy Standard, hiérarchie standard du système de fichiers, disponible sur https://refspecs.linuxfoundation.org/fhs.shtml). Le FHS mentionne aussi l'existence de quelques répertoires comme /usr/local/games et /usr/share/games. Nous créons seulement les répertoires nécessaires. Néanmoins, n'hésitez pas à créer ces répertoires.

[Avertissement]

Avertissement

La FHS ne dicte pas l'existence du répertoire /usr/lib64 et les éditeurs de LFS ont décidé de ne pas l'utiliser. Pour que les instructions dans LFS et BLFS fonctionnent correctement, il est nécessaire que ce répertoire n'existe pas. De temps en temps vous devriez vérifier qu'il n'existe pas, car il est facile de le créer accidentellement et cela cassera probablement votre système.