O que a primeira coluna em / proc / mounts realmente significa no Linux?

6

Execute cat /proc/mounts e recebo isso (simplificado):

rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
/dev/sda1 / ext3 rw,relatime,errors=continue,barrier=1,data=ordered 0 0
io /etc/blkio cgroup rw,relatime,blkio 0 0
...

Sobre o conteúdo, documento da Red Hat diz que:

The first column specifies the device that is mounted, the second column reveals the mount point, and the third column tells the file system type...

Eu não acho que rootfs seja um dispositivo, estou tentando encontrar esse dispositivo em udev(/dev) , mas não consigo. Portanto, não sei qual dispositivo está montado em / ( Você pode dizer que posso usar mount para obter essas informações, mas e se rootfs aqui estiver montado não por mount command ).

Outro exemplo está no servidor VMware ESX 3.x, não é possível localizar nenhuma entrada "vmfs" listada no resultado de mount , mas por cat /proc/mounts , recebo /vmfs /vmfs vmfs rw 0 0 . Como o exemplo rootfs , também não sei quais dispositivos estão relacionados com o primeiro "/ vmfs".

Pergunta : Alguém poderia me dizer o que significa realmente a primeira coluna de /proc/mounts ?

PS. Por favor, leia " Como para obter a lista completa e exata dos sistemas de arquivos montados no Linux? "para obter mais informações sobre /proc/mounts e mount .

    
por xanpeng 10.11.2011 / 04:39

3 respostas

5

A primeira coluna é de fato o dispositivo, como diz a documentação que você citou. De acordo com documentação do kernel.org , rootfs é apenas um caso especial de uma ramfs (sistema de arquivos in-RAM) que o kernel usa para garantir que algo esteja sempre montado em / . É necessário um espaço 0 ou insignificantemente pequeno na RAM e, se você olhar mais em /proc/mounts , deverá ver a entrada do dispositivo que contém sua partição raiz real montada em / .

    
por 10.11.2011 / 05:20
3

A primeira coluna em /proc/mounts é o nome do dispositivo registrado pelo kernel. Na maioria das vezes, esse é o nome que foi fornecido ao chamar mount (veja o código do show_vfsmnt function no kernel); Existe uma maneira de um sistema de arquivos ajustar esse nome, mas apenas o NFS e o AFS aproveitam essa oportunidade.

O nome rootfs é embutido no kernel ; Ele é usado para o sistema de arquivos raiz no momento da inicialização. Existem também casos em que o kernel não recebe um nome e usa none .

Quando você monta um sistema de arquivos que é armazenado em um dispositivo real, o nome do dispositivo é vital: ele indica onde esse sistema de arquivos está. Para sistemas de arquivos “virtuais” , o nome do dispositivo é geralmente irrelevante, ou há um único suporte possível (por exemplo, proc , sysfs , binfmt_misc ) ou cada sistema de arquivos é independente de qualquer suporte ( tmpfs ) ou opções de montagem indicam onde os dados subjacentes é (a maioria dos sistemas de arquivos FUSE ).

    
por 11.11.2011 / 01:37
0

Não tenho certeza sobre rootfs , mas proc é um "playground" para processos. É um sistema de arquivos virtual, portanto, ele não será exibido em /dev (não acho), mas pode ser montado.

Os dispositivos reais em /dev serão exibidos na primeira coluna com um caminho absoluto (como você tem para /dev/sda1 ).

    
por 10.11.2011 / 04:58