É tempo de criar a estrutura completa de diretórios no sistema de arquivos do LFS.
Alguns dos diretórios mencionados nesta seção possivelmente já tenham sido criados anteriormente com instruções explícitas ou quando da instalação de alguns pacotes. Elas estão repetidas abaixo para completude.
Crie alguns diretórios de nível de raiz que não estão no conjunto limitado exigido nos capítulos anteriores emitindo o seguinte comando:
mkdir -pv /{boot,home,mnt,opt,srv}
Crie o conjunto exigido de subdiretórios abaixo do nível de raiz emitindo os seguintes comandos:
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
Diretórios são, por padrão, criados com modo de permissão 755, mas
isso não é desejável em todos os lugares. Nos comandos acima, duas
mudanças são feitas—uma para o diretório home do(a) usuário(a)
root
e outra para os diretórios para
arquivos temporários.
A primeira mudança de modo assegura que nem toda pessoa possa entrar
no diretório "/root
"—o mesmo que um(a)
usuário(a) normal faria com o próprio diretório "home" dele ou dela.
A segunda mudança de modo garante que qualquer usuário(a) consiga
escrever nos diretórios "/tmp
" e
"/var/tmp
", mas não consiga remover
deles os arquivos de outros(as) usuários(as). A última é proibida
pelo assim chamado “sticky
bit”, o bit mais alto (1) na máscara de bits 1777.
Essa árvore de diretórios é baseada no Padrão de Hierarquia de
Sistema de Arquivos (Filesystem Hierarchy Standard - FHS)
(disponível em https://refspecs.linuxfoundation.org/fhs.shtml).
O FHS também especifica a existência opcional de diretórios
adicionais, tais como /usr/local/games
e /usr/share/games
. No LFS, nós criamos apenas os
diretórios que são realmente necessários. Entretanto, sinta-se
livre para criar mais diretórios, se você desejar.
O FHS não impõe a existência do diretório /usr/lib64
e os(as) editores(as) do LFS
decidiram não usá-lo. Para as instruções no LFS e no BLFS
funcionarem corretamente, é imperativo que esse diretório seja
não existente. De tempos em tempos você deveria verificar se ele
não existe, pois é fácil criá-lo inadvertidamente e isso
provavelmente quebrará o seu sistema.