每當用 Raspberry Pi 達到一次階段性成品,就會需要把當下的 TF 卡內容備份下來,所以查了一下目前的備份工具。在 Linux 不外乎使用 dd 指令將整個 TF 卡磁區做成檔案
# dd bs=4M if=/dev/sdc status=progress conv=fsync of=./test.img
但是這樣的 img 檔,會跟 TF 卡容量一樣大,可以考慮在製作成 img 的同時,pipe 給壓縮程式
# dd bs=4M if=/dev/sdc status=progress conv=fsync | zip test.zip -
# dd bs=4M if=/dev/sdc status=progress conv=fsync | tar czvf test.tar.gz
但是這樣做的結果,並不會影響到後續解壓縮出來的 img 檔的大小。
在網路上有一個不錯的 img 壓縮工具,可以直接把 img 檔的空白磁區刪除,來減少檔案大小。首先,先將 pishrink 下載下來
# wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
# chmod +x pishrink.sh
後續只需要透過 pishrink 將 img 壓縮,就能完成瘦身的動作
# ./pishrink.sh test.img