8.5. Création des Répertoires

Il est temps de créer une structure sur le système de fichiers CLFS. Créez une arborescence de répertoires standard en lançant les commandes suivantes :

mkdir -pv /{bin,boot,dev,{etc/,}opt,home,lib{,32,64},mnt}
mkdir -pv /{proc,media/{floppy,cdrom},run/{,shm},sbin,srv,sys}
mkdir -pv /var/{lock,log,mail,spool}
mkdir -pv /var/{opt,cache,lib{,32,64}/{misc,locate},local}
install -dv /root -m 0750
install -dv {/var,}/tmp -m 1777
ln -sv ../run /var/run
mkdir -pv /usr/{,local/}{bin,include,lib{,32,64},sbin,src}
mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
install -dv /usr/lib/locale
ln -sv ../lib/locale /usr/lib32
ln -sv ../lib/locale /usr/lib64

Ces entrées sont nécéssaires pour le chargeur d'amorcage RaQ2. Ne les utilisez que si vous utilisez le chargeur d'amorcage Colo:

cd /boot
ln -svf . boot

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

Le premier changement de droit nous assure que n'importe qui ne pourra pas entrer dans le répertoire /root — de façon identique à ce que ferait un utilisateur pour son répertoire principal. Le deuxième changement assure que tout utilisateur peut écrire dans les répertoires /tmp et /var/tmp, mais ne peut 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.

8.5.1. Remarques à propos de la conformité FHS

L'arborescence de répertoires est basée sur le standard FHS (Filesystem Hierarchy Standard), disponible sur https://wiki.linuxfoundation.org/en/FHS. Outre l'arborescence créée ci-dessus, le FHS stipule aussi l'existence de /usr/local/games et /usr/share/games. Le FHS n'est pas précis en ce qui concerne la structure du sous-répertoire /usr/local/share, donc nous créons seulement les répertoires nécessaires. Néanmoins, n'hésitez pas à créer ces répertoires si vous préférez vous conformer plus strictement au FHS.