Grub2

如何在每次更新 grub 後自動使 grub.cfg 可寫

  • December 20, 2018

如何確保 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/

引用自:https://unix.stackexchange.com/questions/456423