btrfs 会在每次根分区改变时(由 zypper 或 yast 触发)创建两个快照,这种快照分别保存改变之前和之后。另一种是独立快照,默认每天创建一个,你也可以设置为每小时自动创建一个, 独立快照刚开始占用空间为 0, 但随着系统改变越大,它占的空间也就越大。关于 btrfs 快照的具体使用可以使用下面的命令查看:
sudo snappper --help
需要注意的是快照是需要经常清理的,否则便会出现你现在遇到的情况。系统默认的快照清理是可以自动清理的,但需要你设置清理规则,另外你也可以手动清理:
查看快照:
sudo snapper list
删除快照:
sudo snapper delete num1 num2 num3
num 指的是快照编号
当然,如果你觉得上边的清理方法太麻烦(快照编号往往是不连续的),你也可以使用我写的一个清理脚本。
脚本说明在这里:forum.suse.org.cn/t/btrfs/2978/2
PS:话说昨天晚上我刚用 Ruby 把那个脚本给重写了一下,添加了点功能,因此建议使用 Ruby 版 ](GitHub - gmg137/bsc at ruby)