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{,64},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{,64}/{misc,locate},local} install -dv ${CLFS}/root -m 0750 install -dv ${CLFS}{/var,}/tmp -m 1777 ln -sv ../run ${CLFS}/var/run mkdir -pv ${CLFS}/usr/{,local/}{bin,include,lib{,64},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} install -dv ${CLFS}/usr/lib/locale ln -sv ../lib/locale ${CLFS}/usr/lib64
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.
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.