/etc/mtab 的历史是什么以及它的更新内容是什么?

/etc/mtab 的历史是什么以及它的更新内容是什么?

我用新的实用程序和共享库更新了旧的 Linux 启动盘。它仍然有一个空的/etc/mtab开始,在旧磁盘上/etc/mtab已更新,在新磁盘上/etc/mtab保持为零。我现在看到我们链接/etc/mtab/proc/mounts但问题仍然存在:

  1. 更新了什么/etc/mtab以使其保持最新状态?

  2. 从什么时候变成/etc/mtab/proc/mounts

  3. 我们如何跟上 Linux 中发生的所有根本性变化?

谢谢。

答案1

/etc/mtab在常规文件的系统上,更新是和命令/etc/mtab的工作。此外,一旦根文件系统以读写方式安装,引导脚本就会更新,方法是从引导脚本中提取信息或写入引导脚本所知道的已安装内容。mountumount/etc/mtab/proc/mounts

长期以来,人们一直在争论它/etc/mtab应该是常规文件还是指向 的符号链接/proc/mounts。将其设为常规文件的缺点是它可能与系统状态不同步(例如,如果在挂载或卸载操作期间根文件系统是只读的)。它也不适用于诸如 mount 之类的现代功能命名空间,其中进程可能看不到相同的安装点,即使它们看到相同的安装点/etc/mtab。但将其设为符号链接/proc/mounts有一个缺点,即内核过去不报告人们想要的所有信息:

  • 内核过去常常隐藏默认的挂载选项,但默认值取决于内核版本,因此很难从 中找出确切的挂载选项/proc/mounts,而可以/etc/mtab准确地为您提供传递给mount命令的内容。
  • 内核用来报告绑定安装作为原始安装的副本,而不是作为绑定安装。

现代内核通过报告更多信息,/etc/mounts因此不再有理由更喜欢创建/etc/mtab常规文件。

Debian 错误 #494001Debian 停止/etc/mtab作为常规文件进行维护。该线程的要点(我尚未验证其准确性,但我没有理由怀疑):

  • 线程的相关部分主要是初始消息。其余的主要是与过渡相关的担忧。
  • “对于 linux >= 2.6.26,/proc/mounts 包含 /etc/mtab 中的所有信息,以及更多信息”。
  • 附加补丁包含要更新的代码的最后版本/etc/mtab( /etc/init.d/mtab.sh)。

我们如何跟上 Linux 中发生的所有根本性变化?

祝你好运……每个人都有一套不同的他们认为是根本性的变化。所有这一切一定都出现在LWN(Linux 每周新闻),但是流量非常高,并且包括对拟议的即将发生的更改的讨论。

相关内容