如果你拥有一个树莓派,那么你应该了解一下这个软件,因为它可以使树莓派的镜像体积更小。PiShrink是一款开源软件,能够压缩树莓派镜像的体积,使得镜像更容易存储,而不会占用太多的空间。以下将介绍如何制作树莓派镜像并使用PiShrink压缩镜像体积。

为什么需要自己制作镜像?

注意,这里说的自己制作镜像是指把树莓派上运行的系统从TF卡中提取出来,保存成一个镜像文件。

有时候树莓派上装了很多软件,例如比较难安装的open CV,或者说你在上面编译安装了很多软件,例如PHP,MySQL。这个时候,你需要对系统进行备份,以免后面破坏了系统环境导致无法修复而需要重新安装系统以及这些软件耗时耗力。

如何制作系统镜像?

制作系统镜像需要用到一个名为Win32DiskImager的软件,这个软件在Etcher出现之前是我们最常用的烧写树莓派系统镜像的软件。步骤如下:

  • 新建一个.img后缀的文件
  • 插入TF卡,打开软件,选择新建好的文件:
  • 点击进度条下方的Read,开始复制TF卡内容:

使用PiShrink压缩镜像体积

PiShrink是一个Bash脚本,需要在Linux环境下运行,这里推荐Win10的Linux子系统。

使用如下命令下载PiShrink:

wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh

为PiShrink增加可执行权限:

sudo chmod +x pishrink.sh 

移动到系统路径:

sudo mv pishrink.sh /usr/local/bin/

移动到镜像路径,使用如下命令压缩镜像体积:

cd /mnt/windows下路径          #/mnt是win10 linux子系统中windows硬盘的挂载目录,/mnt/c即为C盘
sudo pishrink.sh 镜像文件名

示例输出:

Creating new /etc/rc.local
rootfs: 39795/107072 files (0.1% non-contiguous), 239386/428032 blocks
resize2fs 1.45.0 (6-Mar-2019)
resize2fs 1.45.0 (6-Mar-2019)
Resizing the filesystem on /dev/loop1 to 280763 (4k) blocks.
Begin pass 3 (max = 14)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 3728)
Updating inode references XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/loop1 is now 280763 (4k) blocks long.
Shrunk 2019-04-08-raspbian-stretch-lite.img from 1.7G to 1.2G

更多细节,请查看PiShrink官方GitHub地址

最后修改日期:2020年4月18日

作者

留言

发表评论