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 standards en lançant les commandes suivantes :
mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib,mnt,opt,run} mkdir -pv /{media/{floppy,cdrom},sbin,srv,var} install -dv -m 0750 /root install -dv -m 1777 /tmp /var/tmp mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} mkdir -pv /usr/{,local/}share/{doc,info,locale,man} mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} mkdir -pv /usr/{,local/}share/man/man{1..8} for dir in /usr /usr/local; do ln -sv share/{man,doc,info} $dir done case $(uname -m) in x86_64) ln -sv lib /lib64 && ln -sv lib /usr/lib64 ;; esac mkdir -v /var/{log,mail,spool} ln -sv /run /var/run ln -sv /run/lock /var/lock mkdir -pv /var/{opt,cache,lib/{misc,locate},local}
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 de répertoires est basée sur le standard FHS
(Filesystem Hierarchy Standard), disponible sur http://www.pathname.com/fhs/.
Outre le FHS, nous créons des liens symboliques pour la
compatibilité pour les répertoires man
, doc
, et
info
vu que beaucoup de paquets
essaient encore d'installer leur documentation dans /usr/<répertoire>
ou /usr/local/<répertoire>
au lieu de
/usr/share/<répertoire>
ou
/usr/local/share/<répertoire>
.
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.