Arch Linux Snapshot 备份和恢复
需要安装的包 snapper snap-pac grub-btrfs inotify-tools 这篇文章为了保底记录实际代码操作过程,正常执行使用脚本 首先配置Snapper配置文件 如果提前创建好了@snapshot子卷,那么不能让snapper自动创建配置文件,手动复制默认的配置文件到配置目录 Snapper 配置模板 /usr/share/snapper/config-templates/default Snapper 配置目录 /etc/snapper/configs/xxx 查看指定配置文件的参数:snapper -c xxx get-config 修改全局配置文件,添加配置文件名称 SNAPPER_CONFIGS="xxx"(添加了才生效) 手动创建快照:sudo snapper -c system create --description "snapshot1" 删除快照: sudo snapper -c system delete 1(用list可以看到快照编号) 查看xxx配置文件的快照列表:snapper -c xxx list(每一个配置文件的快照是独立的) 配置snap-pac 配置这个执行pacman的时候就会自动保存两个快照 需要编辑/etc/snap-pac.ini [xxx] snapshot = True GRUB配置 配置让快照出现在GRUB选单界面 依赖两个包 grub-btrfs inotify-tools 启用 sudo systemctl enable --now grub-btrfsd.service 更新一下GRUB配置文件 sudo grub-mkconfig -o /boot/grub/grub.cfg 补救方法 # 通过GRUB进入正常的系统 # 挂载顶层到mnt(顶层ID永远是5) sudo mount -o subvolid=5 /dev/sdxx /mnt # 重命名之前的@ sudo mv /mnt/@ /mnt/@_bad # 把快照中正常的@克隆到mnt sudo btrfs subvolume snapshot /.snapshots/具体id/snapshot /mnt/@ # 取消挂载重启进入系统 sudo umount /mnt sudo reboot 特殊情况 进入新快照之后出现pacman无法使用,可能是快照中正在执行pacman导致锁文件 ...