Filesystem Hierarchy Standard |
Quando o seu root filesystem cresceu demais para se adequar em seu disco (meio megabyte), eles deixaram vazar para um disco RK05 que era maior porém mais lento, que é aonde todos os diretórios home dos usuários eram abrigados (que e é o por que o mount foi chamado /usr). Eles replicaram todos os diretórios do sistema operacional sob o segundo disco (/bin, / sbin, /lib, /tmp...) e escreveram arquivos para aqueles novos diretórios porque seu disco original não tinha espaço suficiente. Quando obtiveram um segundo disco RK05, eles o montaram no /home e realocaram todos os diretórios de usuário para esse terceiro disco e então seu sistema operacional poderia consumir todo o espaço em ambos os discos e crescer para todo os três megabytes (ooooh!).
Claro que eles criaram regras sobre “quando o sistema bootar primeiro, ele tem que subir o suficiente para ser capaz de montar o segundo disco em /usr, então não coloquem as coisas como o comando mount em /usr/bin ou teremos um baita problema para colocar o sistema no ar.” Bem específico para v6 unix de 35 anos atras.
- O primórdio sistema de colocar o sistema no ar é responsabilidade do initrd e do initramfs que lidam com os problemas do “esse arquivo é necessário antes daquele arquivo”. Já temos um sistema temporário que inicializa o sistema principal.
- Bibliotecas compartilhadas (introduzida pelos caras de Berkeley) evitam que você independentemente atualize as partes do /lib e do /usr/bin. Duas partições tem que combinar ou elas não funcionarão. Esse não era o caso em 1974; eles tinham um certo nível de independência porque tudo era estaticamente ligado.
- Discos rígidos de varejo baratos passavam a marca dos 100 megabytes por volta de 1990, e software de redefinição de tamanho das partições apareceram em algum lugar por volta daquele tempo (partition magic 3.0 embarcou em 1997).
Depois alguém decidiu que o "/usr/local" não era um bom lugar para instalar novos pacotes, então vamos adicionar /opt! Ainda estou esperando o "/opt/local" aparecer...
Claro, dados 30 anos para solidificar, essa divisão fez que algumas regras específicas interessantes de distros surgirssem e seguir adiante novamente, tal como “/tmp" fica limpo entre os reboots, mas "/usr/tmp" não. (Claro, no Ubuntu "/usr/tmp" não existe e no Gentoo "/usr/ tmp" é um link simbólico para o "/var/tmp", na qual agora possui a regra “não limpo entre reinicializações (not cleared between reboots)”. Sim, tudo isso precedem o tmpfs. Ele tinha a ver com os read-only root file systems, "/usr" sempre vai ser read-only nesse caso e "/var" é aonde o seu espaço gravável fica, "/" é a maioria do tempo read-only exceto para os bits de "/etc" que tentaram mover para o "/var", mas o link simbólico do "/etc" para o "/var/etc" aconteceu mais frequentemente do que não....)
Burocracias de padrões como o da Linux Foundation (que consumiu o Free Standards Group em seu acréscimo de discos em constante crescimento anos atrás), alegremente documenta e adiciona a esse tipo de complexabilidade sem tentar entender porque aquilo estava lá em primeiro lugar. “Ken e Dennis vazaram seu OS no equivalente de home porque o disco root no PDP-11 era pequeno demais" vai silvar nas suas cabeças.
Rob Landley é um geek desde a sua infância, um geek Linux desde 1998, e um geek de Linux em embarcados desde 2001 (nota do tradutor: ano que eu conheci o Linux). Reimpresso com permissão do autor original. Primeira aparição em hn.my/bin (busybox.net).
Para saber um pouco mais sobre Rob Landley, confiram o vídeo Muito além do GNU - toybox:
Referencias:
Referencias:
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.