使用overlayfs影子系統(tǒng)打造一個只讀的不怕意外關(guān)機(jī)的樹莓派

使用overlayfs影子系統(tǒng)打造一個只讀的不怕意外關(guān)機(jī)的樹莓派

關(guān)閉交換分區(qū)

sudo swapoff -a
sudo rm -rf /swapfile
free # 查看是否生效

pi@raspbian:~/pi3-script/overlayfs$ free
              total        used        free      shared  buff/cache   available
Mem:         977980      491368       27672       13900      458940      430668
Swap:             0           0           0

永久關(guān)閉swap,將/boot分區(qū)也修改為只讀,修改 fstab 文件,把/boot 對應(yīng)的行改為ro

sudo vi /etc/fstab
# 修改后
pi@raspbian:~/pi3-script/overlayfs$ cat /etc/fstab
proc /proc proc defaults 0 0
PARTUUID=daf1c5e3-01 /boot vfat ro 0 2
PARTUUID=daf1c5e3-02 / ext4 defaults,noatime,nodiratime 0 1
# 注釋掉下面這行
# /swapfile swap swap defaults 0 0



add script to /sbin

cp ./overlayRoot.sh /sbin/

add command to ~/.bashrc

function reboot_rw(){
  sudo mount -o remount,rw /boot
  sudo sed -i 's/ init=\/sbin\/overlayRoot.sh//g' /boot/cmdline.txt
  sudo reboot
}
function reboot_ro() {
  sudo mount -o remount,rw /boot
  sudo sed -i 's/\($\)/ init=\/sbin\/overlayRoot.sh/g' /boot/cmdline.txt
  sudo reboot
}
function rw() {
    sudo mount -o remount,rw /ro
    sudo mount -o remount,rw /boot
}

切換overlayfs指令

reboot_ro # enter overlayfs
mount # 查看是否生效  /dev/mmcblk0p2 改為掛載在 /ro ,并且是只讀;/boot 也掛載為只讀;而 / 的 type 變成了overlay
# /dev/mmcblk0p2 on /ro type ext4 (ro,noatime,data=ordered) 

reboot_rw # exit overlayfs
rw # 不切換系統(tǒng)的時(shí)候掛載讀寫

臨時(shí)想讀寫

sudo mount -o remount,rw /ro
sudo mount -o remount,rw /boot

docker兼容問題處理
"storage-driver": "vfs", 是為了兼容overlayfs只讀模式,如想還原回去修改vfs為overlay2
為了兼容overlayfs只讀模式, 還需要執(zhí)行下面的命令,注意:此時(shí)以前的容器會看不到了

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "storage-driver": "vfs",
  "registry-mirrors": ["https://vlv9r1l5.mirror.aliyuncs.com"]
}
EOF


sed -i 's/ExecStart/ExecStartPre=mv \/var\/lib\/docker\/runtimes \/var\/lib\/docker\/runtimes-old\nExecStart/g' /lib/systemd/system/docker.service
sudo systemctl daemon-reload
sudo systemctl restart docker

參考:
http://www.glgxt.cn/file/25.html
https://blog.csdn.net/bona020/article/details/79039410
https://blog.csdn.net/zhufu86/article/details/78906046
樹莓派 智能家裝 新裝閉坑手冊(二,overlay篇) - 『HomeAssistant』綜合討論區(qū) - 『瀚思彼岸』? 智能家居技術(shù)論壇 - Powered by Discuz! (hassbian.com)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容