视频中“使用 BTRFS 进行 Debian 12 Bookworm 最小安装”作者:JustAGuy Linux 于 8:28你看到作者跑了
mv @rootfs @
您会看到
@rootfs
这是已创建的子卷,但我们将专门移动它时移。我们将把 移至@rootfs
at 符号 (@
)。 [...]我们将创建第二个子卷,我们要说btrfs subvolume create @home
虽然我不明白这个
- 为什么 Debian 安装程序创建的原始子卷名为
@rootfs
? - 为什么 Timeshift 不这样,或者 Timeshift 需要这样?
- 名为 的子卷有什么特别之处吗
@
?
答案1
这是一个解决方法
这些名称只是两个约定,在 btrfs 看来没有技术优势,但目前在 Timeshift 中任意硬编码为根卷。 Timeshift 是一个 Linux Mint 项目,因此他们似乎并不关心其他发行版。在评论中用户M4rQu1Nh0S说
在 BTRFS 文件系统中,仅存在一个级别 5 的子卷,之后创建的任何子卷都将获得另一个级别,并且 timeshift 仅接受处于级别 5 且命名为的子卷
@
目前,仅当您过去或在其他发行版中习惯使用此工具,并且您已经知道在任何发行版中使时移工作所需的条件时,才建议使用时移。
- 仅 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
、@var
at/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 后启动的。
其他来源: