为什么 devtmpfs 不填充 /dev/pts?

为什么 devtmpfs 不填充 /dev/pts?

Linux 会自动使用正确的设备和目录结构填充 devtmpfs。这为 提供了几乎完整的树/dev,但pts设备明显缺失。

对于pts设备,Linux 提供了另一个名为 devpts 的虚拟文件系统。然而,这也是设备节点的集合,当人工安装程序简单地将 devtmpfs 挂载到 chroot dev 目录时,有时会引起意外。

我发现该设计可能源于历史原因,但即便如此,内核也可以简单地/dev/pts自动填充 devtmpfs,并且以前使用带有 devpts 的 udev 管理的 tmpfs 的任何发行版都可以迁移到仅 devtmpfs。否则我想不出做出这个决定的充分理由。

答案1

该设计确实具有历史意义:devpts文件系统与Unix98 PTY 支持,已经存在很长时间了,而devtmpfs文件系统没那么旧

devtmpfs本来可以包括对 的支持/dev/pts,但有一些理由将它们分开。这两个功能是独立的,因此可以使用devpts或不使用来配置内核devtmpfs,反之亦然。还可以将系统配置为/dev/pts在任何类型的之上使用/dev- 静态(根文件系统的一部分)、单独的udev托管tmpfs(如您所提到的)或devtmpfs.无论如何,保留所有这些可能性都需要单独的/dev/pts实现,因此/dev/ptsdevtmpfs.

相关内容