sudo btrfs subvolume show /
输出
/
Name: @
uuid: 1f0da442-cdf3-144c-a4ce-f6c06248cfde
Parent uuid: -
Creation time: 2014-08-16 19:06:51
Object ID: 257
Generation (Gen): 30683
Gen at creation: 6
Parent: 5
Top Level: 5
Flags: -
Snapshot(s):
@apt-snapshot-release-upgrade-utopic-2014-11-28_15:10:02
现在,我想删除快照@apt-快照-发布-升级-utopic-2014-11-28_15:10:02。
我试过:
sudo btrfs subvolume delete @apt-snapshot-release-upgrade-utopic-2014-11-28_15:10:02
仅得到:
Transaction commit: none (default)
ERROR: error accessing '@apt-snapshot-release-upgrade-utopic-2014-11-28_15:10:02'
答案1
我有一组 3 个运行 btrfs 的驱动器用于存储数据(不是操作系统驱动器),经过测试后我发现 btrfs 快照的行为类似于子卷。
例如,您可以像这样创建只读快照:
sudo btrfs subvolume snapshot -r /mnt/data/some_dir /mnt/data/@some_dir-snapshot-test
然后,再次删除快照:
sudo btrfs subvolume delete /mnt/data/@some_dir-snapshot-test
要非常小心,不要删除原始子卷!如果不小心,很容易意外删除原始子卷而不是快照。确保已测试备份!
答案2
快照存在于文件系统的实际根目录中,而不是您在 / 中挂载的目录。您在 / 中挂载了 /@ 子卷,因此不存在具有该名称的文件。您必须在某处挂载实际根卷并使用该路径引用快照。
或者您可以改用 apt-btrfs-snapshot delete。