我想更好地了解根文件系统,经过一些研究我终于找到了这个根文件系统定义。
根文件系统的确切内容将根据计算机的不同而有所不同,但它们将包括启动系统和使其达到可以安装其他文件系统的状态所需的文件以及用于修复问题的工具。损坏的系统以及从备份中恢复丢失的文件。内容将包括根目录以及最小的子目录和文件集,包括 /boot、/dev、/etc、/bin、/sbin,有时还有 /tmp(用于临时文件)。
正如上面的定义所述,根文件系统的内容可以有所不同,但它应该只包含引导系统所需的数据。因此,我假设属于文件系统层次结构标准的其他目录(例如 /home 或 /user)通常不属于根文件系统?
答案1
版权所有 © 2006 Linux 信息项目。版权所有。
…轻微暗示这可能是过时的信息:)
让我们谈谈“典型”的含义,因为很难确定您正在查看的 Linux 系统类型。
如果我们谈论的是经典的“GNU 风格”Linux(而不是 Android),那么绝大多数用户区可能是容器或 VM 工作负载,它们通常只有一个文件系统来存储所有瞬态数据,并且只有持久数据有效负载数据可能位于单独的文件系统上,哪些数据取决于您是否正在运行数据库服务器、电子邮件服务器或某些身份验证微服务。
如果我们将我们限制在 PC 和笔记本电脑上,那么答案就是“它真的取决于”,因为大型发行版已经默认将除 /home 之外的所有内容安装到单个文件系统中;在某些标准安装中,情况甚至可能并非如此。更令人困惑的是,Ubuntu 和 Fedora 的默认安装(因此,对于大多数用户而言)最终会出现在 btrfs 和 btrfs 子卷上。子卷是一个单独的文件系统吗?取决于您想要如何定义文件系统。
发行版在处理非持久文件系统的方式上也有所不同。我的 /tmp 是一个 tmpfs,所以根本不放在任何磁盘上,但工作中的 OpenSUSE 服务器使用根文件系统; /var/run、/var/tmp 也有类似的命运。如果引导加载程序无法识别根文件系统,则 /boot 在新安装上通常只是一个单独的文件系统。在 /boot 中,现代系统上总是有一个 EFI 子目录,它实际上是一个单独的 FAT32 文件系统,因为这是 PC 的 UEFI 所知道的来引导引导加载程序的。 (你的文档不可能知道这一点,它早于这一切,甚至包括初始 ramdisk 作为几乎所有 Linux 发行版的默认启动方法,因此他们所说的有关启动时文件的所有内容本质上不适用于现代 Linux 系统。)