Il est temps de créer la structure complète du système de fichiers LFS.
Créez quelques répertoires de plus haut niveau qui ne font pas partie de l'ensemble limité requis dans les chapitres précédents en lançant la commande suivante :
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 pour être complet.
mkdir -pv /{boot,home,mnt,opt,srv}
Créez l'ensemble de sous-répertoires requis sous la racine en lançant 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/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 les droits 755, ce qui
n'est pas souhaitable pour tous les répertoires. Dans la commande
ci-dessus, deux modifications seront 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.
L'arborescence des répertoires est basée sur le standard FHS
Filesystem
Hierarchy Standard, (disponible sur https://refspecs.linuxfoundation.org/fhs.shtml).
Le FHS stipule 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.