深入了解FreeBSD文件系统与设备管理
1. devfs文件系统概述
在类Unix操作系统中,一切皆文件,包括物理硬件。系统中的几乎所有设备在 /dev 目录下都有对应的设备节点,如磁盘、键盘、控制台、混音器等,还有逻辑设备的节点,像随机数生成器、终端会话等。
过去,系统管理员需要手动创建这些设备节点文件。如果操作系统没有提供创建设备节点和设置权限的脚本,或者服务器有脚本未涵盖的特殊硬件,管理员就得使用 mknod(8) 命令,稍有差错设备就无法正常工作。另一种方式是在操作系统中预先包含所有可能硬件的设备节点,但这会使 /dev 目录下文件繁多。
而 devfs(5) 是一种动态文件系统,用于管理设备节点。它会向内核询问系统应该有哪些设备节点,并仅提供这些节点。不过,对于有特殊需求的用户,如需要以不同名称使用设备节点、更改设备节点所有权或独特配置硬件等,FreeBSD将设备节点管理问题分为三个部分:启动时设备配置、全局可用性和权限设置,以及使用 devd(8) 管理启动后动态出现的设备。
2. 启动时的/dev目录
在设备节点是磁盘上的永久文件时,系统管理员可以创建符号链接或更改权限,不用担心更改会丢失。但使用自动化的动态设备文件系统后,这种保障就不存在了(不过也不用再担心神秘的 mknod(8) 命令)。设备节点的更改可能包括:
- 以不同名称使用设备节点
- 更改设备节点的所有权
- 对用户隐藏设备节点
订阅专栏 解锁全文
47



被折叠的 条评论
为什么被折叠?



