什么是挂载点的“无”类型,为什么在 /run 下是相同类型的挂载点?

Tri*_*tos 13 linux filesystems mount

在 Ubuntu 14.04 中执行命令 mount 我得到以下摘录

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)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么/run在已经安装的父目录 ( /run) 中单独安装了 的子目录以及none文件系统的含义。我的/etc/fstab文件是空的。

cap*_*cha 10

none只是意味着有链接到你看到发出时,挂载点没有物理磁盘分区mount命令。它用于如虚拟文件系统shmramfsproctmpfs。本示例中的lock,shmuser挂载点是单独创建的,因此可以使用不同的权限和设置挂载它们。注意到括号内的部分了吗?

您没有看到这些挂载配置的原因/etc/fstab是因为它们是由upstart(即在系统初始化期间)和initramfs-tools. 您可以通过以下方式进行自我调查:

grep --color -RE '/run/(lock|shm|user)' /etc 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

但更有趣的可能是:

# 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
Run Code Online (Sandbox Code Playgroud)

最后一部分显示,例如,要找到/run/lock您需要搜索的来源/var/lock