Grub2
如何在每次更新 grub 後自動使 grub.cfg 可寫
如何確保 my
/boot/grub/grub.cfg
在每次執行後仍然可寫update-grub
?我已經嘗試
/boot/grub/grub.cfg.new
在腳本中設置我希望他們擁有的權限41_custom
,因為我看到在包含所有內容之後,grub-mkconfig
只是將此.new
文件移動到最後一個文件grub.d
,但這並沒有導致最終保留權限。現在我仍在尋找一種更新安全的方法,以便grub.cfg
在每次執行update-grub
.(背景:想在休眠前通過腳本修改文件,恢復後切換回原來的。)
為它製作一個包裝腳本。
你可以做類似的事情:
#!/bin/bash update-grub chmod g+w /boot/grub/grub.cfg
然後將其命名為
update-grub-perm
(或其他)並執行它。要讓這個
apt-get
腳本/etc/apt/apt.conf
在./etc/apt/apt.conf.d/``DPkg::Post-Invoke
例如
/etc/apt/apt.conf.d/80updgrubperm
:DPkg::Post-Invoke {"/root/bin/update-grub-perm";};
/root/bin/update-grub-perm
可能是這樣的:#!/bin/bash FILE='/boot/grub/grub.cfg' DATE=$(date '+%s') FILETIME=$(stat -c %Y $FILE) DAYSEC=86400 if [ $FILETIME -ge $(expr $DATE - $DAYSEC) ]; then chmod g+w $FILE fi exit 0
上面的腳本檢查是否
/boot/grub/grub.cfg
在過去 24 小時內被修改過。如果是這樣,那chmod
就是。注意:您可能會想出一個更好的方法來檢查是否
/boot/grub/grub.cfg
已更新,但這是一個簡單的範例。通過我的快速研究,如果此特定包已更新,我沒有看到執行此腳本apt
的任何選項或dpkg
選項。參考:https ://www.cyberciti.biz/faq/debian-ubuntu-linux-hook-a-script-command-to-apt-get-upgrade-command/