Originalmente, havia /bin
para programas (essencialmente, binários executáveis) e muito em breve /dev
para arquivos de dispositivos e /lib
para código executável extra carregado por programas (bibliotecas). /usr
também veio muito cedo, primeiro para os dados do usuário, em seguida, como uma área OS extra com a sua própria bin
e lib
em seguida, man
contendo o manual em formato electrónico. O código-fonte também era frequentemente fornecido em algum lugar abaixo /usr
.
E havia alguns arquivos no sistema operacional que não se encaixavam em nenhuma das categorias existentes. Isso incluía um passwd
arquivo contendo as senhas dos usuários, um mtab
arquivo gravado por mount
e os programas init
posteriores rc
executados no momento da inicialização e, com o tempo, mais e mais programas destinados a serem executados apenas para fins de administração e não como parte do uso normal.
(Você pode procurar algum código fonte antigo do Unix na Árvore Unix . As versões anteriores à V6 são muito fragmentárias. Você também pode ver os manuais V1 e V6 na Manual Page Library .)
No início, não havia conotação em que os arquivos /etc
eram arquivos de configuração. Nestes primeiros dias, se você quisesse personalizar algo, recompilaria essa parte do sistema. À medida que o Unix ficava mais poderoso, havia mais e mais coisas que você poderia fazer sem recompilar. À medida que o Unix se acostumava mais amplamente, havia mais e mais coisas que as pessoas queriam fazer e descobriram maneiras de fazê-las sem passar pelo trabalho de recompilar. Então, /etc
preenchido com mais e mais arquivos de texto que as pessoas podiam e personalizavam, portanto, gradualmente se tornou o diretório de configuração.
Com a criação de /sbin
para conter programas destinados apenas ao administrador do sistema, /etc
acabou contendo apenas arquivos de texto, muitos dos quais podem ser personalizados pelo administrador do sistema. Alguns arquivos (por exemplo /etc/mtab
, às vezes /etc/resolv.conf
) são mantidos automaticamente pelos programas do sistema; há uma tendência lenta de mover esses arquivos para /run
o mundo Linux.
Nos sistemas unix modernos, quase todos os arquivos de configuração em todo o sistema estão abaixo /etc
, mas nem todos os arquivos /etc
são arquivos de configuração. Distribuições típicas do Linux e outras variantes do unix não lidam muito bem com a modificação de muitos dos arquivos que vêm dos pacotes; No mínimo, você pode ter que mesclar manualmente as modificações locais quando o sistema for atualizado.