Intereting Posts
Установить компьютер на приостановку после определенного времени, когда он не вошел в систему? Как я могу оторваться от сеанса SSH, который разбился? Что такое «keyring» в Google Chrome Fedora VM: nslookup работает, пинг не отключается от Интернета Почему команда «find | grep 'filename' 'намного медленнее, чем «найти« имя файла »? Нажмите на массив с помощью find exec Вход и пароль для Ghost BSD Live CD Какие дистрибутивы работают из коробки с планшетными компьютерами? Какое место для системных служб, созданных системным администратором на Debian? Отслеживайте, какие zsh-плагины создают файл .zcompdump под homeuser Установить пакет из репо не в источниках Есть ли разница между обновлением терминала и обновлением программного центра в Fedora? Отображение потоков уровня на уровне ядра, потоки пользовательского уровня для процессов / потоков Как сделать персонажа PS1 более смелым? Безопасность на морском коньке

Как сделать grub.cfg доступным для записи автоматически после каждого update-grub

Как я могу убедиться, что мой /boot/grub/grub.cfg по-прежнему доступен для записи после каждого запуска update-grub ?

Я уже пытался установить разрешения для /boot/grub/grub.cfg.new как я хочу, чтобы они были в сценарии 41_custom , так как я увидел, что grub-mkconfig просто перемещает этот файл grub-mkconfig в последний после всех из grub.d был включен, но это не привело к окончательному сохранению разрешений. Сейчас я все еще ищу безопасный для обновления способ автоматической grub.cfg группы grub.cfg после каждого запуска update-grub .

(Справочная информация. Я хочу изменить файл с помощью скрипта перед переходом в hibernate и вернуться к исходному после возобновления работы.)

Сделайте скрипт для него.

Вы можете сделать что-то похожее на:

 #!/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/