备份单板机系统Armbian并缩小镜像大小

AI大语言模型

在单板机安装配置系统后,可以备份整个系统以备不时之需。如果单板机USB挂载了其他存储,可以在线备份,否则就需要取出TF卡操作。

查看设备名称:

lsblk

使用dd命令备份,如果是在线备份,确保of指向挂载的外部设备:

sudo dd if=/dev/mmcblk0 of=/path/Pi.img bs=4M status=progress conv=sync,noerror

得到的镜像与TF卡容量同大小,可以使用PiShrink一键裁剪:

PiShrink项目地址

下载pishrink.sh,添加可执行权限:

chmod +x ./pishrink.sh

脚本可使用参数:

  • -s 禁止镜像在下一次启动时自动扩容文件系统;
  • -v 启用更详细的输出信息;
  • -n 禁止脚本检查 GitHub 上 PiShrink 的新版本;
  • -r 若常规修复失败,将尝试使用额外参数修复文件系统;
  • -z 镜像裁剪完成后,使用 gzip 进行压缩,文件名会自动添加 .gz 后缀;
  • -Z 镜像裁剪完成后,使用 xz 进行压缩,文件名会自动添加 .xz 后缀;
  • -a 对 pigz 采用 -f9 参数、对 xz 采用 -T0 参数,以并行方式进行压缩;
  • -d 生成日志文件 pishrink.log,可用于辅助问题排查。

推荐使用-Z参数,这会使用xz进行压缩,得到更小的文件。

PiShrink支持使用环境变量PISHRINK_GZIP或PSHRINK_XZ来修改默认压缩参数,xz的压缩级别默认为6,可设置为极致压缩(-e)+ 最高级别(-9)+ 全部CPU线程(-T0):

export PSHRINK_XZ="-9 -e -T0"
sudo ./pishrink.sh -nZ ./Pi.img

恢复镜像时,直接使用dd命令写回:

xzcat Pi.img.xz | sudo dd of=/dev/sdX bs=4M status=progress oflag=dsync
AI大语言模型