前言
系統備份與還原:使用 dd
命令
香橙派(Orange Pi)Zero 3 的作業系統燒錄於 SD 卡上,並且在沒有外接其他儲存裝置的狀況下,資料也是儲存於 SD 卡中;因此如果要進行整個系統的備份與還原,一個直觀的方式是透過 dd
命令來讀取與寫入資料:
1. 備份
首先使用 df --human-readable
檢查 SD 卡掛載的裝置路徑,再透過 dd if=[INPUT_FILE] bs=[BLOCK_SIZE]
從指定的路徑讀取資料,其中 if
表示輸入檔案(input file)而 bs
則表示區塊大小(block size):
Bash
# 確認掛載路徑,並讀取資料
$ df --human-readable
$ sudo dd if=/dev/sdc bs=4M | gzip > ~/orangepi_zero3_shellclash.gz
# 檢視進度狀況
$ sudo watch -n 5 pkill -USR1 ^dd$
調整 dd
命令的區塊大小,可以影響讀取和寫入的效率;一般來說使用較大的區塊大小,可以減少 I/O 操作次數,進而減少作業系統的系統調用(system call)與上下文切換(content switch)次數,在處理大文件時能有更好的表現。
2. 還原
Bash
$ sudo gzip -dc ./orangepi_zero3_shellclash.gz | sudo dd of=/dev/sdc
# 檢視進度狀況
$ sudo watch -n 5 pkill -USR1 ^dd$