我对 file 或 symlink 很好奇/etc/mtab
。我相信这是一个遗留机制。在我使用过的每个现代 linux 上,这是一个符号链接/proc/mounts
,如果mtab
要成为“普通”文件系统上的常规文件,/etc
那么让软件与挂载命名空间一起工作将面临挑战。
很长一段时间以来,我一直认为两件事中的一件是真的。任何一个:
- 我们正在等待参考软件
/etc/mtab
过时或更新 - 其他非 Linux 操作系统仍然使用相同的文件名,并且链接存在于跨平台合规性
然而,这两个想法似乎都不靠谱。我找不到对在 Linux 之外保持相同文件名的任何现代操作系统的良好参考。而且它似乎已经存在了太久,而不仅仅是一个向后兼容性问题;更重要的变化似乎在同一时间来来去去。
所以我想知道是否/etc/mtab
真的只是出于历史原因。它是否以任何方式正式弃用?[截至 2023 年]是否有任何确凿的现代理由来保留它?
我不想从我的系统中删除它,但作为一名软件开发人员,我想了解它的用处以及是否要避免它。
取决于你问谁。如果你问 Linux 上 mount 的作者,是的;自2018年以来它说
我认为这是一个非常有力的声明。在此之前,/etc/mtab 也被“支持”,但人们认为最好不要使用它:
这句话从2014 年就在那里了。在此之前,只推荐:
换句话说,是的。这已被弃用近十年。你不应该依赖它。忽略。
真实的来源是/proc/mounts,如果有的话。(考虑到存在 Linux 挂载命名空间,正确、唯一且明确地列出挂载在逻辑上是一个重要的问题)
我打算将其添加为评论,但比
/etc/mtab
已弃用的实用程序更好的实用程序甚至/proc/mounts
是受支持且有用的实用程序根据发行版的不同,它并不总是默认存在,但几乎总是在回购中。
/etc/mtab
它提供与 and相同的信息,/proc/mounts
并具有开关来解析数据并仅打印出需要或想要的内容,或者只是使其更易读。这些可以通过其页面找到man
。