iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
0
IoT

homekit+pixhawk系列 第 25

幫raspberry pi製作備援映像檔並壓縮吧

  • 分享至 

  • xImage
  •  

在做一個樹莓派的專案時,常常遇到突發狀況,這個時候除了燒香拜佛之外,能做的就是製作備援的映像檔了,然而如果整張備援的映像檔都大成狗,那豈不是會塞滿整個電腦嗎?

製作備援映像檔

  1. 將raspberry pi的sd卡拔出來,插到電腦上,如果是windows請用WSL,如果是mac、linux就繼續
  2. 利用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

這樣就完成備援映像檔的製作了,這個製作時間視記憶卡大小以及讀取速度不同而有所差異,所以要省時間的話不要買太大的記憶卡

減少備援映像檔的容量

  1. 使用PiShrink來減少raspberry pi映像檔的容量,只能在linux上使用
  2. 安裝PiShrink
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin
  1. 執行PiShrink
sudo pishrink.sh backupdisk.img
  1. 範例結果
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囉,這樣有利於減少容量,並可以減少復原所需的時間


上一篇
不用螢幕就設定好raspberry pi的SSH以及wifi
下一篇
用raspberry pi來當一個wifi ap吧!
系列文
homekit+pixhawk30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言