参考文章一
参考文章二
@1 首先创建一个子目录用来存放需要回滚的数据(snapper需要和btrfs文件系统配合使用)
sudo btrfs subvolume create /home/marguerite/Public/build // 目标文件夹之前不能存在。
删除此目录的方法见上一篇。
@2 创建新的个人配置方案
sudo snapper -c <配置方案名称> -t default create-config /home/marguerite/Public/build //使用 default 模板,/home/[...]/build 子卷
sudo snapper -c test -t default create-config /home/marguerite/Public/build
可以使用
sudo snapper list-configs
查看你的配置
删除配置可以 sudo snapper -c test delete-config
.........................................
如果不想加test默认
sudo snapper -c root create-config /
@3 更改权限
截取自文章二
Snapper 新版的配置文件里多了一个:
# users and groups allowed to work with config
ALLOW_USERS="marguerite"
ALLOW_GROUPS="users"
这样在您的该配置文件作用的子卷中,就可以使用普通用户 marguerite 操作 Snapper 了。另外还要:
sudo chmod a+rx /home/marguerite/Public/build/.snapshots
不然快照没有写权限。
还需要修改自己的文件目录权限 sudo chown marguerite:users build
否则不能在目录中写入文件。
@4 创建快照
sudo snapper -c test create -d "v1"
可以使用sudo snapper -c test list查看创建的快照信息
Type | # | Pre # | Date | User | Cleanup | Description | Userdata
-------+---+-------+---------------------------------+------+----------+-------------+---------
single | 0 | | | root | | current |
single | 1 | | Wed 15 May 2019 09:43:07 AM CST | root | | v1 |
single | 2 | | Wed 15 May 2019 10:00:04 AM CST | root | timeline | timeline |
single | 3 | | Wed 15 May 2019 11:00:04 AM CST | root | timeline | timeline |
@5 余下的都是一些基本的操作,可以参考文章二。注意加上-c test 配置。
有两种比较方法:
sudo snapper status <第一个快照>..<第二个快照> //第一个快照的创建时间要早于第二个
将显示您在两个快照时间内修改的全部文件的路径和文件名:
sudo snapper status 0..161 //0 表示当前系统,它不是快照,但您可以认为是比所有快照都新的一个快照。
/home/marguerite/Public/build/home:MargueriteSu/tpfanco/tpfanco.spec
/home/marguerite/Public/build/home:MargueriteSu/tpfanco/tpfanco.changes
/home/marguerite/Public/build/home:MargueriteSu/tpfanco/tpfanco-0.96.3.svn113.tar.bz2
第二种:
sudo snapper diff <第一个快照>..<第二个快照>
将以 diff 的格式显示您这段时间的修订。
比如您误删除了某个文件,可以使用:
snapper undochange 0..166
来撤销。
对于 12.1 和 12.2 就上了 btrfs 的使用者来说,这个功能是大杀器。
sudo cd /.snapshots/
sudo snapper delete *
重启将释放您 root 被快照使用的空间。尤其是频繁使用 YaST 升级的使用者。