2019年5月2日星期四

Raspberry Pi 減肥、備份、重灌及技巧


減肥及備份 Raspbian



上一回完成安裝及設定,這一回分享如果節省更多空間,把不會用到的程式移除。各有所需,我不用的程式,並不代表讀者不會用,請酌情刪除。

經過一番 DIY 後,一個乾淨完美的 Raspbian 誔生,如果用官方自帶 "SD card copier" 只能clone 相同容量 TF 卡 ,做法不夠靈活,這裡會分享裁剪 TF 卡,造一個更細容量的 Image 檔,可以將 Image 放落一張不同容量的 TF 卡中,這做法靈活得多之餘,又可以當成檔案備份或分享給人使用,亦可以不受實體卡限制,造多個 Image 版本出來測試,好處多的是。

最後分享一些考慮因數及使用技巧給大家參考,避免後期不斷撿漏,想清楚自己要做甚麼,要做個怎樣的 Raspbian,一開始計劃好,就不會手忙腳亂。

這張 Cheatsheet 已包含之前及這篇文章所有 command 及設定檔,可以先下載回來,再看教學。

( 註︰這是基於 Raspberry Pi 3B+ 版本寫,用 4B 的讀者,自行吧 apt-get 之類 command 改成 apt 即可 )


刪除不要程式



以下移除只供參考,請按自己需要選擇
  1. 移除編程類,最好不要動到 python,網上很多資源都用 python 作例子。

    sudo apt-get remove --purge --auto-remove bluej greenfoot nuscratch scratch scratch2 sonic-pi python-sense-emu python3-sense-emu python-sense-emu-doc sense-emu-tools

  2. SmartSim 建議不要移除,那是設計及模擬電路圖用的程式,可以輸出成 PDF、PNG 及 SVG。

  3. Reference:
    https://smartsim.org.uk/

  4. LibreOffice 建議不要移除,那是辨公室軟件,可以寫程式駁 JDBC 連接 LibreOffice Base玩。

  5. 移除互聯網相關,有想過玩 E-mail,不過現在不流行自家伺服,用 google email 就好,所以移除。

    sudo apt-get remove --purge --auto-remove claws-mail claws-mail-i18n epiphany-browser dillo

  6. 影音播放,日後可能會做一些影音娛樂用的項目,建議不要移除。

  7. 移除遊戲。

    sudo apt-get remove --purge --auto-remove minecraft-pi python-minecraftpi python-pygame
    rm -rf ~/python_games

清理移除後垃圾


sudo apt-get clean
sudo apt-get autoremove

reference
http://yehnan.blogspot.com/2017/02/raspberry-pi.html
http://www.howtoptec.com/2016/08/delete-pre-installed-applications-on.html

———————————簡易的分隔線————————————

Image 備份



與上一回分享差不多,先把初步減肥 TF 卡 image 倒成一個檔案。

dd bs=4M if=/dev/sdf of=/home/<USER>/Downloads/backup.img status=progress conv=fsync

image 減肥



到 Drewsif 下載 PiShrink,跟隨 README.md 指導 install,再執行以下指令。
image 由 30 G 削到 6.9 G!

sudo pishrink.sh backup.img shinked.img

重灌 image



當有需要重灌時,參考以下指令回復備份。指令與安裝 Raspbian 時差不多。

dd bs=4M if=shinked.img of=/dev/sdf status=progress conv=fsync

———————————簡易的分隔線————————————

考慮自建 image︰



首先考慮未來會做甚麼,需要甚麼程式,不需要加加減減造個完美 image,基於用途建立多個版本 image 也可以。

然後,準備數張 TF,用作測試又好,更新 image 又好,更換成 Windows IoT 也好,方便自己工作。

我自己的 Pi 甚麼都沒有移除,因為作為開發板用,到真正做産品時,才考慮生産成本及精簡系統,可能不用 Raspberry Pi,改用  Pi Zero W,改用 Raspbian Stretch Lite。

開啟 VNC︰


如上圖,在 Raspberry Pi Configuration 開啟 VNC 即可,以 GUI 控制 Raspberry Pi,不需要 command line 方式操作。

個人建議學好 command line 操作,難得有個非常易上手及重灌的 linux 能用,這裡 有寫為甚麼。

查詢已裝 Packages︰


如果想知 Raspbian 安裝了甚麼,可以用以下指令,對照列表移除或增加 packages︰

dpkg-query -l > list_packages.txt

reference
http://www.howtoptec.com/2016/08/delete-pre-installed-applications-on.html

———————————簡易的分隔線————————————

Pi 支援 exFAT︰


lsblk 看到有 USB,但沒有資料夾出現在,可能是用了不支援格式,要手動 mount。

support exFAT


sudo apt-get update
sudo apt-get install exfat-fuse


mount USB drive


lsblk
sudo mkdir /mnt/USB
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/USB
sudo umount /mnt/USB

reference:
https://www.raspberrypi.org/documentation/configuration/external-storage.md
https://www.raspberrypi.org/forums/viewtopic.php?t=38058#p317871

傳送檔案


抄資料走用 USB,但次次用 USB 過電腦檔案去樹苺批,不覺得沒效率嗎?Raspbian 內建 sftp,下載 filezillaWinSCP 傳送檔案,如無改過 hostname 及 pi password 的話,登入如下︰

raspberry-pi-hostname : raspberrypi
user-id: pi
password : raspberry

記謹,傳送文字檔要用 UTF-8 才不會有亂碼出現,用 Windows 的讀者要注意。

reference︰
https://www.raspberrypi.org/forums/viewtopic.php?t=180014

———————————簡易的分隔線————————————

總結︰


走到這裡,即使日後跟不上,也能替代電腦使用,也可以當練手用 Linux,出了甚麼事,大不了灌備份。

下一步玩 GPIO,需要電學基礎,沒有學過電,不用怕,下一回說 V = IR,解說怎樣才會電死人,這是保障人身安全,純理論太無聊,因此會教「萬用錶」用法,對算術有困難的讀者,可以自己計一計,再以萬用錶對答案,這是保障錢包安全,電子零件電流過大會損壞!

沒有留言:

發佈留言

設有留言驗證及審查,檢閱後,才會顯示留言。
本人惰性很高,留言或許會石沉大海。