Créer les répertoires

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

install -d /{bin,boot,dev,etc/opt,home,lib,mnt}
install -d /{sbin,srv,usr/local,var,opt}
install -d /root -m 0750
install -d /tmp /var/tmp -m 1777
install -d /media/{floppy,cdrom}
install -d /usr/{bin,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr
install -d /usr/share/{doc,info,locale,man}
install -d /usr/share/{misc,terminfo,zoneinfo}
install -d /usr/share/man/man{1,2,3,4,5,6,7,8}
install -d /usr/local/{bin,etc,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr/local
install -d /usr/local/share/{doc,info,locale,man}
install -d /usr/local/share/{misc,terminfo,zoneinfo}
install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}
install -d /var/{lock,log,mail,run,spool}
install -d /var/{opt,cache,lib/{misc,locate},local}
install -d /opt/{bin,doc,include,info}
install -d /opt/{lib,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 seront effectuées : un pour le répertoire principal de root et un 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 dûe au « sticky bit », le bit le plus haut dans le masque 1777.

Remarques à propos de la conformité FHS

L'arborescence de répertoires est basée sur le standard FHS (disponible sur http://www.pathname.com/fhs/). En plus de cette arborescence, ce standard stipule 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.