Por que não há READMEs na hierarquia do sistema de arquivos do Linux?

8

A hierarquia do sistema de arquivos Linux ( FHS ) contém muitos diretórios importantes. Por exemplo, acabei de descobrir /sys/class/input ao jogar com as configurações do meu teclado PS / 2.

Mas todos esses diretórios importantes são documentados em outro lugar, então man /sys/class/input não funciona para explicar o que acontece em um determinado ponto.

Por que não colocar README arquivos na hierarquia para tornar mais fácil para as pessoas aprenderem o que está acontecendo em certos níveis e brincar com o conteúdo? Seria realmente incrível se os dispositivos pudessem montar seus próprios README s.

    
por anatoly techtonik 07.01.2018 / 13:44

2 respostas

30

Para usar o seu exemplo: /sys/ não contém arquivos "reais", mas é inteiramente fornecido pelo kernel. Você quer que todos os READMEs se tornem parte do kernel? Você provavelmente não faz isso.

A documentação está em /usr/share/doc . Que contém arquivos normais no seu disco rígido. Alguma documentação sobre /sys e /proc está no código fonte do kernel, ou seja, em /usr/src/linux/Documentation (se você instalou o código fonte do kernel, e fez o symlink para o seu kernel atual).

    
por 07.01.2018 / 13:48
14

Porque o Unix e o Linux têm décadas de tradição de documentar com man pages (e, nos sistemas GNU, info files ...). Veja homem (1) , man (7) , man-pages (7) . BTW, o comando man e as páginas são opcionais (e você não os instalará em todos os sistemas Unix).

A hierarquia do sistema de arquivos é descrita em hier (7) .

Ele é definido pelo Filesystem Hierachy Standard disponível em link

Vários sistemas de arquivos, principalmente /proc/ (consulte proc (5) ) e /sys/ (veja sysfs (5) ) são sistemas pseudofile fornecidos pelo código do kernel . Você não quer inflar o kernel com código extra produzindo README -s (o que é inútil para a grande maioria dos usuários). Mesmo o arquivo de configuração do kernel é apenas opcionalmente disponível como /proc/config.gz , o qual é frequentemente desativado na maioria das configurações do kernel. E muitos sistemas Linux são sistemas embarcados (por exemplo, seu smartphone, seu dispositivo inteligente ou dispositivo IoT, seu RaspberryPI), onde os recursos são assustadores o suficiente para evitar desperdício.

Notavelmente, /sys/ é mais útil para administradores de sistema e para desenvolvedores que escrevem utilitários de baixo nível, e ambos devem poder encontrar a documentação apropriadamente.

Why not to place README files into the hierarchy to make it easier for people to learn what's going on

Se você realmente quiser esse README s, escreva seu próprio módulo de kernel carregável , fornecendo-o, ou configure alguns < href="https://en.wikipedia.org/wiki/UnionFS"> unionfs para fornecê-los. Eu não acho que vale a pena o esforço (e um unionfs em /sys provavelmente atrasaria todo o seu sistema).

Lembre-se de que o código do kernel consome RAM (ele nunca é paginado e fica na memória física , não na memória virtual), mesmo que não seja usado. Portanto, faz sentido evitar o inchaço.

    
por 07.01.2018 / 18:06