Як я можу дізнатися, чи потрібна перезавантаження після оновлення?


28

У мене є 4 сервери з Debian Wheezy OS. У мене встановлений Apticron, який інформує мене про оновлення. Оновлення Debian реалізуються настільки часто, що після закінчення оновлення останнього з 4 серверів я отримую новий електронний лист про нові оновлення на першому сервері. Я намагаюся оновлювати всі сервери, коли отримую сповіщення, але ніколи не знаю, чи потрібно перезавантажувати сервери. Я прочитав, що якщо каталог "/var/run"містить файл, "reboot-required"я повинен перезавантажити сервер. Але я ніколи не бачив цього файлу в "/var/run". Як я можу знати, коли потрібна перезавантаження? Я не хочу перезавантажувати сервери кожен раз, коли я встановлюю нові оновлення, якщо це не потрібно.

Я розумію, що якщо я оновлюю PHP або MySQL тощо, мені не потрібно перезавантажувати сервер, але оновлення зазвичай містять багато "lib ...".

Нижче 9 оновлень (я отримав цього тижня).

krb5-locales 1.10.1+dfsg-5+deb7u3
libdbus-1-3 1.6.8-1+deb7u6
libgssapi-krb5-2 1.10.1+dfsg-5+deb7u3
libk5crypto3 1.10.1+dfsg-5+deb7u3
libkrb5-3 1.10.1+dfsg-5+deb7u3
libkrb5support0 1.10.1+dfsg-5+deb7u3
libruby1.8 1.8.7.358-7.1+deb7u2
libxml2 2.8.0+dfsg1-7+wheezy3
ruby1.8 1.8.7.358-7.1+deb7u2

Я поняття не маю, що таке "libkrb, libgssapi" тощо. Як я можу виявити, чи потрібна перезавантаження? Будь ласка, не пропонуйте встановлювати UnattendedUpgrades, щоб сервери автоматично оновлювалися, оскільки це може призвести до відключення веб-сайтів у режимі офлайн, якщо щось оновлення не відповідає правильності.


Якщо застосувати лише securityпотік, а не загальні оновлення, ви не отримаєте стільки оновлень.
poolie

Відповіді:


31

Перевірте checkrestartв debian-goodiesупаковці. Він показує, які процеси використовують старі версії оновлених файлів. Якщо ви не в змозі видалити всі процеси зі цього списку, вам потрібно перезавантажити :)

Додатково (як сказав ЮКЮК) завжди перезавантажуйте після оновлення ядра!


10
Як варіант, замовлення needrestart. linux-audit.com/…
ypid

9

cat /var/run/reboot-required.pkgsбачити 'service' waiting for a reload. Ніщо не потребує перезавантаження, лише оновлення ядра (і Windows :)).

Або на Debian: lsof | grep lib | grep DEL


Забудьте сказати: він перелічує всі оновлені лібри. Після цього потрібно перезапустити програми із залежностями.
ЮКЮК

Як я писав у своєму запитанні, я ніколи не бачив файл /var/run/reboot-required.pkgs. Я перевіряю цю папку після кожного оновлення, але нічого.
user1406271

lsof | греп lib | grep DEL, щоб побачити lib, який чекає "оновлення"
YuKYuK

2
Так, і команда показує libs очікування на "оновлення", а деякі libs просто чекають "служби" перезавантаження. Тільки для оновлення ядра потрібно перезавантажити систему (тому що ядро ​​є ядром :).
ЮКЮК

3
Примітка щодо Debian Jessie: reboot-notifierце невеликий пакет, який не встановлений за замовчуванням, який додає цей файл, коли для завантаження оновленого ядра потрібно перезавантаження. reboot-notifierможе бути використаний як альтернатива, update-notifier-commonяку було видалено в Debian Jessie. Дивіться також: serverfault.com/a/92939/177172 .
ypid

2

Щоб додати до цього, у мене була така ж проблема з моїми серверами, і я написав сценарій оновлення, де я перевіряв / var / run / як YuKYuK запропонував:

test -f /var/run/reboot-required && echo rebooting && sudo reboot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.