Важно ли перезагрузить Linux после обновления ядра?


19

У меня есть несколько рабочих веб-серверов Fedora и Debian, на которых размещаются наши сайты, а также учетные записи пользователей оболочки (используются для работы с git vcs, некоторых сеансов screen + irssi и т. Д.).

Иногда новое обновление ядра происходит по конвейеру в yum/ apt-get, и мне было интересно, достаточно ли большинство исправлений для перезагрузки или можно ли применить исправления без перезагрузки.

Наш основной сервер разработки в настоящее время имеет 213 дней безотказной работы, и я не был уверен, было ли небезопасно запускать такое старое ядро.


Вы действительно должны отделить производственный хостинг (достаточно открытый и критичный для безопасности, сразу же получать обновления) от запуска репозиториев git (вероятно, только для доверенных пользователей, но должны быть в безопасности) и общих сеансов экрана. ВМ дешевы!
пул

Ответы:


24

Нет ничего особенного в долгой работе. Как правило, лучше иметь безопасную систему. Все системы нуждаются в обновлениях в какой-то момент. Вы, вероятно, уже применяете обновления. Планируете ли вы отключения, когда применяете эти обновления? Вы, вероятно, должны на всякий случай, если что-то пойдет не так. Перезагрузка не должна так много времени на самом деле.

Если ваша система настолько чувствительна к сбоям, вы, вероятно, должны подумать о какой-то настройке кластеризации, чтобы обновить один элемент кластера, не останавливая все.

Если вы не уверены в том или ином обновлении, возможно, безопаснее запланировать перезагрузку и применить ее (желательно после тестирования в другой аналогичной системе).

Если вы заинтересованы в том, чтобы узнать, является ли обновление важным, найдите время, чтобы прочитать уведомление о безопасности и перейти по ссылкам к CVE или публикациям / спискам / блогам, описывающим проблему. Это должно помочь вам решить, применяется ли обновление непосредственно в вашем случае.

Даже если вы не думаете, что это применимо, вы все равно должны рассмотреть возможность обновления вашей системы. Безопасность - это многоуровневый подход. Вы должны предположить, что в какой-то момент эти другие слои могут потерпеть неудачу. Кроме того, вы можете забыть, что у вас уязвимая система, потому что вы пропустили обновление при изменении конфигурации в более поздний момент времени.

В любом случае, если вы хотите игнорировать или подождать некоторое время при обновлении в системах на основе Debian, вы можете приостановить пакет. Мне лично нравится держать все пакеты ядра на всякий случай.

Метод CLI для удержания пакета в системах на основе Debian.

dpkg --get-selections | grep 'linux-image' | sed -e 's/install/hold/' | sudo dpkg --set-selections

1
Дело не в том, что нам нужно быть постоянно включенным, а в том, что у некоторых наших пользователей открытые сеансы (например, IRC), которые могут раздражать (с точки зрения пользователя) для перезапуска.
lfaraone

12

Большинство обновлений не требуют перезагрузки, но обновления ядра делают это (вы не можете заменить работающее ядро ​​без перезагрузки).

Одна вещь, которую я обнаружил, заключается в том, что если ваш сервер долгое время работал без перезагрузки, он с большей вероятностью захочет выполнять проверку диска (fsck) при перезагрузке, и это может значительно увеличить время, необходимое для возврата и снова работает. Лучше всего предвидеть это и планировать это.

Я также обнаружил, что изменения конфигурации иногда могут быть пропущены и не будут замечены до перезагрузки (например, добавление новых IP-адресов / правил iptables и т. Д.). Это также увеличивает риск простоя при нечастой перезагрузке.

Лучше всего планировать некоторое время простоя при перезагрузке - или, если это нежелательный вариант, настройте серверы в кластеры, чтобы при необходимости можно было выполнить перезагрузку.


8

Если вам просто нужны обновления безопасности, а не полностью новое ядро, вас может заинтересовать Ksplice - он позволяет вам устанавливать определенные обновления ядра в работающее ядро.


Только для Oracle Linux: |
rogerdpack

3

На этот вопрос нет простого ответа, некоторые обновления ядра на самом деле не связаны с безопасностью, а некоторые могут решить проблемы безопасности, которые не влияют на вас, тогда как другие могут повлиять на вас.

Лучший подход imo - это подписаться на соответствующие списки рассылки по безопасности, такие как ubuntu security-announce, чтобы вы могли видеть, когда выходят обновления для системы безопасности , и как они могут повлиять на вас.

Я бы также рассмотрел apticron или аналогичный, чтобы узнать подробности и журналы изменений любых других обновлений пакетов.


2

Это функция обновления - если она исправляет прив. эскалация, которая приводит к корневому доступу, тогда вы можете применить его.


2

В случае, если вы не перезагружаетесь, вы должны убедиться, что новое ядро ​​не по умолчанию запускается при загрузке.

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


1

Как уже упоминалось, если вы устанавливаете ядро ​​и не перезагружаетесь, убедитесь, что оно не по умолчанию. Вы не знаете, вернется ли ваш сервер или в каком состоянии, поэтому убедитесь, что он проверен.

Тем не менее, я думаю, что хорошо, когда это возможно, привыкать к перезагрузке машин. Многие аппаратные и программные сбои проявляются только при перезагрузке, и о них лучше узнать, когда вы планируете перезагрузку, а не во время незапланированного сбоя.


0

Обратите внимание, что некоторые обновления ядра Debian требуют (ну очень рекомендуем) перезагрузить их как можно скорее после их применения.

Это тот случай, когда разницы недостаточно, чтобы гарантировать изменение каталога модулей, но модули могут отличаться.

Debian будет предупреждать вас об установке таких пакетов ядра.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.