Phi*_*ing 8 linux compatibility proc
我对文件或符号链接很好奇/etc/mtab
。我相信这是一个遗留机制。在我使用过的每一个现代 Linux 上,这是一个符号链接/proc/mounts
,如果mtab
是“普通”文件系统上的常规文件,/etc
那么在使软件与挂载命名空间一起工作时就会遇到挑战。
很长一段时间我一直认为两件事之一是正确的。任何一个:
/etc/mtab
过期或更新然而,这两种想法似乎都站不住脚。我找不到任何在 Linux 之外保留相同文件名的现代操作系统的良好参考。而且它似乎已经存在了太久了,不仅仅是一个向后兼容性问题;更重大的变化似乎在同一时间发生和消失。
所以我想知道是否/etc/mtab
真的只是出于历史原因。它是否已被正式弃用?[截至 2023 年]有任何坚实的现代理由来保留它吗?
我不想从我的系统中删除它,但作为软件开发人员,我想了解它的用处以及是否要避免它。
\n\n现在是否应该考虑弃用 /etc/mtab 的使用?
\n
取决于你问的是谁。如果你问 Linux 上 mount 的作者,答案是肯定的;自2018年以来,它说
\n\n\n默认情况下,\xe2\x80\xa6 在编译时完全禁用,因为在当前的 Linux 系统上,\xe2\x80\xa6 更好
\n
我认为这是一个非常有力的声明。在此之前,/etc/mtab“也受支持”,但人们认为最好不要使用它:
\n\n\n这个真正的 mtab 文件仍然受支持,但在当前的 Linux 系统上,\n最好将其设为 \xe2\x80\xa6 的符号链接
\n
这句话从2014年就一直有。在此之前,仅推荐:
\n\n\nmtab 文件仍然受支持,但建议使用到 \xe2\x80\xa6 的符号链接
\n
换句话说,是的。这已被弃用近十年了。你不应该依赖它。忽略。
\n如果有的话,事实来源是/proc/mounts。(考虑到 Linux 挂载命名空间的存在,正确、唯一且明确地列出挂载在逻辑上是一个不平凡的问题)
\n