Назад | Перейти на главную страницу

в Red Hat Enterprise и CentOS, что создает / var / run / reboot-required?

В CentOS 5.8+ и Red Hat Enterprise 6+ при установке / обновлении пакетов я заметил, что при необходимости создается файл флага / var / run / reboot-required. В Ubuntu (и, как я полагаю, в Debian), если установлен пакет update-notifier-common, сценарий postinst пакета запускает создание этого файла флага. В RHEL / CentOS я не могу понять, как это происходит.

Например, в RHEL и CentOS я недавно установил несколько обновлений и был создан / var / run / reboot-required. Одним из них было обновление пакета openssl. Я предполагаю, что это было причиной создания файла флага, поскольку в Ubuntu он также работает таким образом. Однако я посмотрел на все «rpm -q --scripts» для каждого обновленного пакета и не видел ничего, что могло бы создать этот файл флага. В основном я видел "программу постинсталляции: / sbin / ldconfig".

Итак, мои вопросы:

Этот файл не упоминается ни в одном сценарии пакета, ни в каких rpm макрос (см. /usr/lib/rpm/**/macros.*).

Я подозреваю, что это пришло из неофициального пакета, основанного на обычной практике в сообществах Debian и Ubuntu.

Там его можно создать http://packages.debian.org/squeeze/update-notifier.

Это было то, что я создал сам. У меня был скрипт, который отслеживал версии пакетов (например, ядро ​​Linux), и когда они менялись, он создавал «/ var / run / reboot-required». Он был создан как повар рецепт, поэтому он, вероятно, не имеет отношения к другим, и его легко воспроизвести, если вы не используете повара.

Например, в RHEL и CentOS я недавно установил несколько обновлений и был создан / var / run / reboot-required. Одним из них было обновление пакета openssl.

Я пытался обновить OpenSSL на CentOS 5.8 и 6.0, но оба не создают этот файл. Кто-нибудь еще это понял?

Какой у него тип файла? Покажите, пожалуйста, содержание?

Если «требуется» действительно означает «требуется», AFAIK, есть только обновление ядра, которое требует перезагрузки (если вы хотите загрузиться в новое ядро, если вы не используете Ksplice). Для всех остальных обновлений (включая: glibc, tzdata, SysVinit, ...) вам "всего лишь" нужно перезапустить все программы, которые его используют или зависят от него.