<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="PiShrink：使树莓派镜像更小">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2019-11-20 07:47<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
PiShrink：使树莓派镜像更小

GitHub：https://github.com/Drewsif/PiShrink

树莓派网站：https://www.raspberrypi.org

固件下载：https://downloads.raspberrypi.org

如果你有一台树莓派，你可能需要了解一个名为 PiShrink 的 bash 脚本，该脚本可使树莓派镜像更小。PiShrink 将自动缩小镜像，然后在启动时将其调整为 SD 卡的最大大小。这能更快地将镜像复制到 SD 卡中，同时缩小的镜像将更好地压缩。这对于将大容量镜像放入 SD 卡非常有用。在这个简短的指南中，我们将学习如何在类 Unix 系统中将树莓派镜像缩小到更小。

安装 PiShrink

要在 Linux 机器上安装 PiShrink，请先使用以下命令下载最新版本：


XML/HTML代码


    wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh




接下来，将下载的 PiShrink 变成二进制可执行文件： 


XML/HTML代码


    chmod +x pishrink.sh




最后，移动到目录： 


XML/HTML代码


    sudo mv pishrink.sh /usr/local/bin/




使树莓派镜像更小

你可能已经知道，Raspbian 是所有树莓派型号的官方操作系统。树莓派基金会为 PC 和 Mac 开发了树莓派桌面版本。你可以创建一个 live CD，并在虚拟机中运行它，甚至也可以将其安装在桌面上。树莓派也有少量非官方​​操作系统镜像。为了测试，我从官方下载页面[1]下载了官方的 Raspbian 系统。

解压下载的系统镜像：


XML/HTML代码


    unzip 2019-04-08-raspbian-stretch-lite.zip




上面的命令将提取当前目录中 2019-04-08-raspbian-stretch-lite.zip 文件的内容。

让我们看下提取文件的实际大小：


XML/HTML代码


    du -h 2019-04-08-raspbian-stretch-lite.img 1.7G 2019-04-08-raspbian-stretch-lite.img




如你所见，提取的树莓派系统镜像大小为 1.7G。

现在，使用 PiShrink 缩小此文件的大小，如下所示：


XML/HTML代码


    sudo pishrink.sh 2019-04-08-raspbian-stretch-lite.img




示例输出：



XML/HTML代码


    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






正如你在上面的输出中看到的，树莓派镜像的大小已减少到 1.2G。

你还可以使用 -s 标志跳过该过程的自动扩展部分。

 


XML/HTML代码


    sudo pishrink.sh -s 2019-04-08-raspbian-stretch-lite.img newpi.img




这将创建一个源镜像文件（即 2019-04-08-raspbian-stretch-lite.img）的副本到一个新镜像文件（newpi.img）并进行处理。有关更多详细信息，请查看官方 GitHub 说明。


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
