6.5. Creazione delle directory

È il momento di creare alcune strutture nel file system LFS. Creare un albero di directory standard inserendo i seguenti comandi :

mkdir -pv /{bin,boot,etc/opt,home,lib,mnt,opt}
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
mkdir -v /var/{lock,log,mail,run,spool}
mkdir -pv /var/{opt,cache,lib/{misc,locate},local}

Le directory sono, di 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 dell'utente root e un altro alle directory per i file temporanei.

Il primo cambiamento di modalità assicura che non tutti possano entrare nella directory /root—la stessa cosa che un utente normale avrebbe fatto con la propria 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 queste i file di altri utenti. Quest'ultima operazione è proibita 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 sul Filesystem Hierarchy Standard (FHS) (disponibile su http://www.pathname.com/fhs/). Oltre a FHS, si creano dei link simbolici di compatibilitlà per le directory man, doc e info, poiché molti pacchetti provano ancora a installare la loro documentazione in /usr/<directory> o /usr/local/<directory> invece che in /usr/share/<directory> o /usr/local/share/<directory>. FHS non è preciso sulla struttura della sottodirectory /usr/local/share, quindi creiamo solo le directory necessarie. Tuttavia si è liberi di creare queste directory se si preferisce conformarsi più strettamente allo standard FHS.