先感謝漂移菌的技術(shù)支持,耐心、細致的幫我解決了一個困擾我很久的問題——樹莓派系統(tǒng)備份問題。
問題的提出:
樹莓派各種版本系統(tǒng),各種軟件,各種更新...總之最簡單的備份方法就是使用鏡像備份,即將樹莓派的SD卡(硬盤)通過工具(如:Win32DiskImager)整個備份,下次需要使用的時候,直接將備份文件再寫入SD卡,簡單粗暴實用。
需要備份情況:
好不容易搞好了項目,保存一下留個紀念
朋友也想用最簡單的方法實現(xiàn)我的項目,類似直接把SD卡郵寄給他
不想每次都更新系統(tǒng)
好不容易配置好的環(huán)境
...不限于上述情況,日后再總結(jié)
那么問題就來了:現(xiàn)在市場常規(guī)容量SD卡16G,每個樹莓派工程都用傳統(tǒng)方式備份,我有那個時間,電腦硬盤也沒那么多空間呀,我電腦有那么大空間,朋友也不見得有...還有文件(鏡像)傳輸?shù)膯栴}。
總結(jié):鏡像太大,存儲,備份,還原,傳輸都不方便
我將這個需求整理了一下,然后發(fā)到群里,大牛漂移菌很快回復,并給予了耐心詳細的指導。下邊我把方法簡單總結(jié)一下,方便大家學習使用:
先說明一點:這個方法雖然將鏡像的大小縮小,但稍微有點麻煩。大家自己評估哈
項目地址:https://github.com/Drewsif/PiShrink
需要工具:linux系統(tǒng)電腦或虛擬機,電腦需要硬盤空間較多,SD卡讀卡器啥的就不多說了
總步驟:
下載(安裝)腳本
給SD卡做鏡像
將鏡像壓縮(其實可能不是壓縮,細節(jié)不用管,壓縮好理解)
詳細步驟:下邊都是在linux環(huán)境下進行的
下載(安裝)腳本
參考項目https://github.com/Drewsif/PiShrink中的描述
逐一運行紅框中的命令,第一條命令如果提示錯誤,可以從github的對應(yīng)文件名的文檔中復制到u盤里,然后復制到linux系統(tǒng)中。
給SD卡做鏡像
先用lsblk命令查看SD卡的盤符,如下圖所示,先不插SD卡,查詢一下,插入SD卡再查詢一下,多出來的就是SD卡
盤符即為sdb
用DD命令復制SD卡:(復制下邊的整行命令,修改其中的sdb為你的SD卡盤符,rpi.img可以不改為你要存儲的文件名)
sudo dd if=/dev/sdb of=./rpi.img bs=8M
將鏡像壓縮
命令:
sudo pishrink.sh -s rpi.img newpi.img
漫長的等待之后就能看到結(jié)果了,如下圖所示,將32G的存儲卡鏡像變?yōu)榱?.2G