现在是否应该考虑弃用 /etc/mtab 的使用?

现在是否应该考虑弃用 /etc/mtab 的使用?

我对文件或符号链接很好奇/etc/mtab。我相信这是一个遗留机制。在我使用过的每一个现代 Linux 上,这是一个符号链接/proc/mounts,如果mtab是“普通”文件系统上的常规文件,那么/etc在使软件与挂载命名空间一起工作时就会遇到挑战。

很长一段时间我一直认为两件事之一是正确的。任何一个:

  • 我们正在等待软件/etc/mtab引用过期或更新
  • 其他非 Linux 操作系统仍然使用相同的文件名,并且链接是为了跨平台合规性

然而,这两种想法似乎都站不住脚。我找不到任何在 Linux 之外保留相同文件名的现代操作系统的良好参考。而且它似乎已经存在了太久了,不仅仅是一个向后兼容性问题;更重大的变化似乎在同一时间发生和消失。

所以我想知道是否/etc/mtab真的只是出于历史原因。它是否已被正式弃用?有没有固体的现代的[截至 2023 年] 保留它的原因是什么?

我不想从我的系统中删除它,但作为软件开发人员,我想了解它的用处以及是否要避免它。

答案1

现在是否应该考虑弃用 /etc/mtab 的使用?

取决于你问的是谁。如果你问 Linux 上 mount 的作者,答案是肯定的;2018年以来它说

...默认情况下在编译时完全禁用,因为在当前的 Linux 系统上它更好...

我认为这是一个非常有力的声明。在此之前,/etc/mtab“也受支持”,但人们认为最好不要使用它:

这个真正的 mtab 文件仍然受支持,但在当前的 Linux 系统上,最好将其作为符号链接......

这句话从那时就有了2014年。在此之前,只是受到推崇的:

mtab 文件仍然受支持,但建议使用符号链接...

换句话说,是的。这已被弃用近十年了。你不应该依赖它。忽略。

如果有的话,事实来源是/proc/mounts。 (考虑到 Linux 挂载命名空间的存在,正确、唯一且明确地列出挂载在逻辑上是一个不平凡的问题)

答案2

我打算将其添加为评论,但比 更好的实用程序/etc/mtab,它已被弃用,甚至/proc/mounts是受支持且有用的

findmnt

默认情况下,它并不总是存在,具体取决于发行版,但几乎总是在存储库中。它提供与/etc/mtab和相同的信息/proc/mounts,并且具有用于解析数据并仅打印出需要或想要的内容的开关,或者只是使其更清晰。这些可以通过其man页面找到。

相关内容