Как определить, требует ли apt-get перезагрузки с помощью Bash? - PullRequest
17 голосов
/ 12 августа 2011

Я пишу сценарий bash (для ОС на основе apt-get), который автоматизирует процесс установки различных программ.В этом процессе я иногда запускаю «apt-get -fy update» и «apt-get -fy upgrade».В процессе обновления иногда требуется перезагрузка.

Мой вопрос: есть ли способ тестирования, если система запрашивает перезагрузку после запуска "apt-get -fy upgrade"?Я пытаюсь написать сценарий для запуска от начала до конца без вмешательства человека.

Спасибо.

Ответы [ 3 ]

34 голосов
/ 12 августа 2011

Используйте файл / var / run / reboot-required, который делает именно то, что вы хотите.Таким образом, у нас будет это:

apt-get update && apt-get -fy upgrade && [ -f /var/run/reboot-required ] && shutdown -r now 
2 голосов
/ 12 августа 2011

Я не помню, дает ли apt-get фактически предсказуемо отформатированное сообщение, информирующее вас о необходимости перезагрузки, но если это произойдет, вы можете просто проверить вывод, например что-то вроде apt-get -fy update | grep -q 'fill in restart message pattern' && reboot.

Другая, вероятно, менее надежная альтернатива - это использование checkrestart из пакета debian-goodies.

0 голосов
/ 12 августа 2011

Если вы делаете

apt-get -fy update && shutdown -r now

он будет соблюдать порядок и будет обновляться до конца и, наконец, перезапустить ваш сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...