进一步阅读

进一步阅读

/etc/fstab的只有两行:根分区和 debugfs,而/etc/mtab除了这两行之外,还有更多行,例如(sysfs,proc,udev,devpts,tmpfs,cgroup,...)。

额外的挂载点从哪里来?

答案1

这些挂载通常由 initramfs/initrd 脚本或其他早期启动系统初始化脚本执行,或者在完全使用 的发行版上systemd,由initramfs 中的.mount真实环境或迷你 systemd 环境执行的 systemd 单元文件执行。systemd

例如,Debian 9.mount默认有以下单位:

/lib/systemd/system/dev-hugepages.mount
/lib/systemd/system/dev-mqueue.mount
/lib/systemd/system/proc-fs-nfsd.mount
/lib/systemd/system/proc-sys-fs-binfmt_misc.mount
/lib/systemd/system/run-rpc_pipefs.mount
/lib/systemd/system/sys-fs-fuse-connections.mount
/lib/systemd/system/sys-kernel-config.mount
/lib/systemd/system/sys-kernel-debug.mount

答案2

不要求分区必须列在 中/etc/fstab。毕竟,您可以mount使用命令行参数中显式指定的所有内容运行并挂载另一个文件系统,而无需使用/etc/fstab.

然而,您所看到的是已经为您自动安装的东西。

如今,在 Debian 上,大多数文件系统(它们不是分区,因为没有磁盘支持这些文件系统)是由systemd.

其中许多都是人们systemd所说的“API 文件系统”,因为它们实际上是内核向应用程序提供的 API 的一部分。 此类文件系统的列表已硬连线到systemd代码中。观察一下,它与文档不同步systemd

挂载 API 文件系统是作为进程 #1 运行的系统管理软件的常见任务之一,甚至没有 Linux,从 BSD(原文如此!)initsystemd.

  • FreeBSD 挂载的 API 文件系统init没有文档记录,但类似systemd 可以在其代码中找到
  • 挂载的 API 文件系统runit-init在 Debian 上和范斯穆伦伯格rc没有记录。它们可以在通用脚本文件中找到rcmountkernfs.shrc,两个系统都使用。(请注意,这是明确屏蔽的 van Smoorenburg脚本之一systemd,因为它完全由其systemd所做的事情所支持。)
  • nosh 工具集中安装的 API 文件系统system-manager(适用于 Linux 和 BSD)均列在其手册页 (qv) 中,可通过man system-manager.

进一步阅读

相关内容