Создайте для него скрипт-оболочку.
Вы можете сделать что-то похожее на:
#!/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/
Я не уверен, что Cosmos совместим с Linux. См. отредактировать -ссылку . Я также немного зол, потому что я думал, что мы прошли этот этап аппаратной совместимости.