我心中有一个新的文件系统,但是其结构使得无法为每个 inode 实现多个硬链接。(“。” 和 “..” 的处理方式不同。)
它不打算用作根文件系统,但可以用作 /home 等上的通用文件系统。
硬链接在(Linux)系统目录之外是否常用?
不支持硬链接会给用户带来什么问题?
我心中有一个新的文件系统,但是其结构使得无法为每个 inode 实现多个硬链接。(“。” 和 “..” 的处理方式不同。)
它不打算用作根文件系统,但可以用作 /home 等上的通用文件系统。
硬链接在(Linux)系统目录之外是否常用?
不支持硬链接会给用户带来什么问题?
是的;但是否如此也还是一个有争议的问题:现代 Linux 系统的用户不希望因为他们的容器/flatpaks/snaps/toolbx 无法在其主文件系统上运行而感到惊讶。您需要能够支持根文件系统在 /home 中执行的所有操作。
缺乏运行上述技术的能力。以我个人为例,我日常使用的工具 flatpak 和 podman 都无法工作,因为至少,多个基础镜像上的 tzinfo 的 zoneinfo 的打包依赖于硬链接,一些 python
__pycache__
机制依赖于硬链接,一般来说,容器镜像分层也依赖于硬链接。(另请注意,至少对用户而言,
.
和..
条目必须在每个目录中可见(不一定明确存储),需要分别表现为指向相同目录和其父目录的硬链接。Stephen 指出,以下情况在 btrfs 上是不正确的:这会产生非常直接的影响:每个目录的硬链接数为 2 + 目录中包含的目录数。如果您的文件系统没有实现这一点,它就会出现问题,因为工具不知道目录的子目录数。)