O que é o tipo 'none' para pontos de montagem e por que os pontos de montagem do mesmo tipo estão abaixo / são executados?

10

No Ubuntu 14.04 ao executar comando mount, recebo o seguinte trecho

tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)

Eu não entendo por que subdiretórios de /runsão montados separadamente dentro do diretório pai já montado ( /run) e o que nonesignifica sistema de arquivos. Meu /etc/fstabarquivo está vazio.

Trismegistos
fonte

Respostas:

6

O nonejusto significa que não há partição física de disco vinculada ao ponto de montagem que você vê ao emitir o mountcomando. Ele é usado para sistemas de arquivos virtuais como shm, ramfs, proce tmpfs. Os lock, shme userpontos de montagem neste exemplo são criados separadamente para que possam ser montados com diferentes permissões e configurações. Observe a parte entre parênteses?

A razão pela qual você não vê essas configurações de montagem /etc/fstabé porque elas são executadas por upstart(ou seja, durante a inicialização do sistema) e initramfs-tools. Você pode se investigar com:

grep --color -RE '/run/(lock|shm|user)' /etc 2>/dev/null

mas mais interessante é provavelmente:

# grep --color -R 'run_migrate' /etc 2>/dev/null
/etc/init/mounted-var.conf:    run_migrate () {
/etc/init/mounted-var.conf:    run_migrate /var/run /run
/etc/init/mounted-var.conf:    run_migrate /var/lock /run/lock

A última parte mostra que, para encontrar as origens de que /run/lockvocê precisa pesquisar /var/lock, por exemplo.

CAPTCHA
fonte
Corrija-me se entendi errado, mas o que você diz é: Posso montar alguma partição, por exemplo, / dev / sda1 em / home com alguns privilégios, por exemplo: somente leitura, mas depois remontar parte de / home, por exemplo, / home / captcha com privilégios de leitura e gravação. Nesse cenário, / home / capcha é relatado pelo mount como sistema de arquivos 'none', mas é armazenado no / dev / sda1 igual ao restante da partição / home.
Trismegistos
Não tenho certeza, mas meu palpite é que isso permitiria apenas permissões mais restritivas nos pontos de montagem do subconjunto. O método 'mount --bind' para os vários sistemas / run / filesystem pode ser visto em /lib/init/mount-functions.sh Fazendo um man tmpfs agora ..
captcha
Eu não acho que isso significa que não tem partição. Nenhum ocorre com o tipo de sistema de arquivos, por exemplo, tmpfs; portanto, isso significa que não existe nenhum sistema de arquivos atribuído a esse ponto de montagem, mas isso não faz sentido.
Trismegistos
Para que serve dfse ele não consegue distinguir sistemas de arquivos diferentes? E se houver dois nonesistemas de arquivos que realmente representam dois sistemas de arquivos diferentes e se o mesmo? Como devo distinguir isso?
Artem Novikov