在做一個樹莓派的專案時,常常遇到突發狀況,這個時候除了燒香拜佛之外,能做的就是製作備援的映像檔了,然而如果整張備援的映像檔都大成狗,那豈不是會塞滿整個電腦嗎?
dd
指令製作備援的映像檔,方法如下,以mac的指令為範例,linux類似,假設raspberry pi的sd卡為/dev/disk4
時作下列指令,mac中rdisk
相較disk
有更好的讀寫速度,因此建議使用rdisk
來做dd
diskutil unmountDisk /dev/disk4
sudo dd of=/dev/rdisk4 if=backupdisk.img bs=1m
這樣就完成備援映像檔的製作了,這個製作時間視記憶卡大小以及讀取速度不同而有所差異,所以要省時間的話不要買太大的記憶卡
PiShrink
來減少raspberry pi映像檔的容量,只能在linux上使用PiShrink
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin
PiShrink
sudo pishrink.sh backupdisk.img
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/loop1: 88262/1929536 files (0.2% non-contiguous), 842728/7717632 blocks
resize2fs 1.42.9 (28-Dec-2013)
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/loop1 to 773603 (4k) blocks.
Begin pass 2 (max = 100387)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 236)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 7348)
Updating inode references XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/loop1 is now 773603 blocks long.
Shrunk pi.img from 30G to 3.1G
這樣就將30GB的img檔縮小到3.1GB囉,這樣有利於減少容量,並可以減少復原所需的時間