【上一回】 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 即可 )
刪除不要程式
以下移除只供參考,請按自己需要選擇
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
———————————簡易的分隔線————————————
- 移除編程類,最好不要動到 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 - SmartSim 建議不要移除,那是設計及模擬電路圖用的程式,可以輸出成 PDF、PNG 及 SVG。
- LibreOffice 建議不要移除,那是辨公室軟件,可以寫程式駁 JDBC 連接 LibreOffice Base玩。
- 移除互聯網相關,有想過玩 E-mail,不過現在不流行自家伺服,用 google email 就好,所以移除。
sudo apt-get remove --purge --auto-remove claws-mail claws-mail-i18n epiphany-browser dillo
- 影音播放,日後可能會做一些影音娛樂用的項目,建議不要移除。
- 移除遊戲。
sudo apt-get remove --purge --auto-remove minecraft-pi python-minecraftpi python-pygame
rm -rf ~/python_games
Reference:
https://smartsim.org.uk/
清理移除後垃圾
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 也可以。
然後,準備數張 TF,用作測試又好,更新 image 又好,更換成 Windows IoT 也好,方便自己工作。
我自己的 Pi 甚麼都沒有移除,因為作為開發板用,到真正做産品時,才考慮生産成本及精簡系統,可能不用 Raspberry Pi,改用 Pi Zero W,改用 Raspbian Stretch Lite。
考慮自建 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 能用,這裡 有寫為甚麼。
如果想知 Raspbian 安裝了甚麼,可以用以下指令,對照列表移除或增加 packages︰
dpkg-query -l > list_packages.txt
reference
http://www.howtoptec.com/2016/08/delete-pre-installed-applications-on.html
———————————簡易的分隔線————————————
sudo apt-get update
sudo apt-get install exfat-fuse
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,下載 filezilla 或 WinSCP 傳送檔案,如無改過 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
查詢已裝 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,下載 filezilla 或 WinSCP 傳送檔案,如無改過 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,解說怎樣才會電死人,這是保障人身安全,純理論太無聊,因此會教「萬用錶」用法,對算術有困難的讀者,可以自己計一計,再以萬用錶對答案,這是保障錢包安全,電子零件電流過大會損壞!