我可以列出正在运行的内核可以支持的文件系统吗?

Oli*_*Oli 28 linux filesystems kernel

我试图检测内核可以支持哪些文件系统。最好是他们的名字的一个小清单,但我会接受你所拥有的任何东西。

请注意,我指不是当前使用的文件系统,而是当前内核可以直接支持的文件系统,理论上可以直接支持(显然,fuse可以支持无限多个)。

poi*_*ige 15

我可以列出正在运行的内核可以支持的文件系统吗?

好吧,答案完全 /proc/filesystems是错误的——它只反映了那些已经投入使用的 FS,但通常还有更多的方法:

ls /lib/modules/$(uname -r)/kernel/fs

另一个来源/proc/config.gz可能在您的发行版中不存在(我总是想知道“为什么?!”以防万一)。

  • @poige根据这种逻辑,您的答案也非常不完整和错误。`/lib/modules/$(uname -r)/kernel/fs` 只会帮助已作为模块启用的文件系统,而不是内置到内核中的文件系统。此外,模块名称可能与其提供的文件系统名称不匹配,并且单个模块可以提供多个文件系统。 (4认同)
  • 此答案具有误导性,如果未加载模块,则内核在加载该文件系统类型之前根本无法加载该文件系统类型。声明内核可以加载它是不正确的——在成功加载模块之前,您不知道它是否可以。甚至不能保证您*可以*加载该模块。 (4认同)
  • @poige 实际上我根本没有忽略 `/proc/config.gz`。1) 不保证存在,2) 模块名称可能与其提供的文件系统名称不匹配,并且单个模块可以提供多个文件系统。 (3认同)
  • 包含 Ubuntu 的内核配置,只是在不同的地方:`/boot/config-$(uname -r)` (2认同)
  • `/proc/filesystems` 不是*错误*,它只是*不完整*。 (2认同)

Chr*_*own 11

/proc/filesystems例如,列出正在运行的内核支持的所有文件系统类型以及文件系统属性,nodev以指示此文件系统不受块设备支持。

man 5 filesystems 提供了一些更深入的信息。

  • @BruceEdiger:`/proc/filesystems` 仅显示内核已加载的文件系统——直到您将这些模块插入内核(通常在您需要它们时会自动发生),内核才能支持这些文件系统。 (6认同)