Dúvidas sobre o sistema de arquivos raiz Linux

13

No meu entender, o termo "sistema de arquivos raiz" é ambíguo, na verdade se refere a duas coisas diferentes. Um é o sistema de arquivos mínimo absoluto necessário para realizar a configuração do sistema junto com o kernel. Ele contém alguns programas espaciais do usuário que executam detecção de hardware, carregamento de módulos, descoberta de dispositivos e assim por diante. Esse sistema de arquivos é frequentemente chamado de 'rootfs'. O outro é o sistema de arquivos raiz 'real'. Ele pode ser localizado em um disco local ou em um servidor remoto (para sistemas que suportam inicialização por Ethernet).

Eu explorei várias distros do Linux usando o comando 'mount'. Alguns têm 'rootfs on / type rootfs' no resultado, enquanto outros não. E todos eles têm algo como '/ dev / sdaX on / type extX'.

Gostaria de saber se o mecanismo mudou ou o rootfs está desmontado para aqueles que não têm 'rootfs on / type rootfs'.

Eu tentei procurar a resposta pelo wiki e google, mas acabei mais confuso.

Alguém pode me ajudar?


fonte

Respostas:

16

O mountcomando obtém informações sobre montagens atuais /etc/mtab.

No passado , mtabum arquivo normal era recriado após cada inicialização e atualizado pelo mountcomando - para que ele não tivesse uma rootfs /entrada simplesmente porque o rootfs nunca é montado explicitamente ; isso sempre existe. ( mtabÀs vezes, também há entradas duplicadas ou entradas para sistemas de arquivos que não são mais montados ...)

Muitas distros atuais agora fazem o link simbólico mtabpara /proc/self/mounts, que (como tudo o mais em / proc) é gerado diretamente pelo kernel . Por isso, ele sempre mostra tudo o que está montado atualmente, incluindo ambos rootfs /e /dev/blah /.

Você pode usar cat /proc/self/mountsem todas as distros para comparar as montagens. (Também existe /proc/self/mountinfo, que usa uma sintaxe incompatível, mas adiciona mais detalhes.)

user1686
fonte
+1 para coisas de / proc que eu não conhecia.
Joe Joe