6.5. Creazione delle directory

Ora si creino alcune strutture nel nostro sistema LFS. Creiamo un albero di directory. Inserendo i seguenti comandi verrà creato un albero più o meno standard:

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}}

Le directory sono, per default, create con il permesso in modalità 755, ma questo non è desiderabile per tutte le directory. Nei comandi precedenti vengono fatti due cambiamenti: uno alla directory home di root, e un altro alle directory per i file temporanei.

Il primo cambiamento di modalità assicura che non tutti possano entrare nella directory /root (un utente normale fa lo stesso sulla sua home directory). Il secondo cambio di modalità assicura che tutti gli utenti possano scrivere nelle directory /tmp e /var/tmp, ma non possano rimuovere da questa i file di altri utenti. L'ultimo è proibito dal cosiddetto “sticky bit”, il bit più alto nella maschera 1777.

6.5.1. Nota sulla conformità a FHS

L'albero delle directory si basa sullo standard del Filesystem Hierarchy Standard (FHS) (disponibile su http://www.pathname.com/fhs/). Oltre all'albero creato sopra questo standard prevede anche l'esistenza di /usr/local/games e /usr/share/games. Non lo raccomandiamo per un sistema di base, tuttavia si è liberi di rendere il proprio sistema conforme a FHS. Per la struttura della sottodirectory /usr/local/share FHS non è molto preciso, così abbiamo creato solo le directory necessarie.