7.5. Criando Diretórios

É tempo de criar a estrutura completa de diretórios no sistema de arquivos do LFS.

[Nota]

Nota

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 da(o) usuária(o) 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 uma(m) usuária(o) normal faria com o próprio diretório home dela ou dele. A segunda mudança de modo garante que qualquer usuária(o) possa escrever nos diretórios /tmp e /var/tmp, mas não possa remover deles os arquivos de outras(os) usuárias(os). Essa última é proibida pelo assim chamado sticky bit, o bit mais alto (1) na máscara de bits 1777.

7.5.1. Observação de Conformidade com o FHS

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.

[Atenção]

Atenção

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.