7.12. Créer les répertoires

[Note]

Note

Les commandes dans le reste du livre devraient être lancées en tant qu'utilisateur root. Vérifiez que ${CLFS} est initialisé dans l'environnement de l'utilisateur root avant de continuer.

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 ${CLFS}/{bin,boot,dev,{etc/,}opt,home,lib/firmware,mnt}
mkdir -pv ${CLFS}/{proc,media/{floppy,cdrom},run/{,shm},sbin,srv,sys}
mkdir -pv ${CLFS}/var/{lock,log,mail,spool}
mkdir -pv ${CLFS}/var/{opt,cache,lib/{misc,locate},local}
install -dv -m 0750 ${CLFS}/root
install -dv -m 1777 ${CLFS}{/var,}/tmp
ln -sv ../run ${CLFS}/var/run
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}

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.

7.12.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.