btrfs 子卷:什么是@rootfs 和@?

btrfs 子卷:什么是@rootfs 和@?

视频中“使用 BTRFS 进行 Debian 12 Bookworm 最小安装”作者:JustAGuy Linux 于 8:28你看到作者跑了

mv @rootfs @

您会看到@rootfs这是已创建的子卷,但我们将专门移动它时移。我们将把 移至@rootfsat 符号 ( @)。 [...]我们将创建第二个子卷,我们要说btrfs subvolume create @home

虽然我不明白这个

  • 为什么 Debian 安装程序创建的原始子卷名为@rootfs
  • 为什么 Timeshift 不这样,或者 Timeshift 需要这样?
  • 名为 的子卷有什么特别之处吗@

答案1

这是一个解决方法

这些名称只是两个约定,在 btrfs 看来没有技术优势,但目前在 Timeshift 中任意硬编码为根卷。 Timeshift 是一个 Linux Mint 项目,因此他们似乎并不关心其他发行版。在评论中用户M4rQu1Nh0S

在 BTRFS 文件系统中,仅存在一个级别 5 的子卷,之后创建的任何子卷都将获得另一个级别,并且 timeshift 仅接受处于级别 5 且命名为的子卷@

目前,仅当您过去或在其他发行版中习惯使用此工具,并且您已经知道在任何发行版中使时移工作所需的条件时,才建议使用时移。

这在时移自述文件.md

  • 仅 Ubuntu 类型的布局@@家支持子卷
  • @子卷@home可能位于相同或不同的 BTRFS 卷上
  • @可能位于 BTRFS 卷上并且/home可能安装在非 BTRFS 分区上
  • 如果使用交换文件,则它们不应位于@或者@家并且可以存储在它们自己的子卷中,例如@交换
  • 不支持其他布局
  • 确保您已选择子卷@/@根目录。您可以检查下面的执行脚本,如果输出是好的,那么一切就都好了。

因此,YouTube 视频作者做了这项额外的工作,以确保第 5 级的第一卷以@Timeshift 命名以支持布局。


我向 Debian 上游提交了一个 bug,https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1042538

答案2

没有@特殊含义。这只是一种约定,通常用于为在正常根中不直接看到的子卷添加@. Debian 默认使用@rootfs.

您可以将其解释为子卷名称指示其安装位置。所以@home安装在/home@varat/var@at /。在这方面,该计划@比较合适,@rootfs但不太明确。

Ubuntu 似乎专门命名了作为 root 挂载的子卷,@因为 timeshift 希望它以这种方式命名。
https://askubuntu.com/a/1180781

btrfs 文档的某些部分也使用了此约定。
https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/UseCases.html#I_want_to_be_able_to_do_rollbacks_with_Btrfs

我刚开始使用 btrfs 时也搜索过原因,但从未找到令人信服的来源。 A红迪网帖子声称它是在 Suse 采用 btrfs 后启动的。

其他来源:

相关内容