Вопрос: Как часто мне нужно обновлять наш Linux-сервер?


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

Поэтому мне интересно, как люди, которые знают, что они делают, справляются с этим? Как часто вы выполняете обновления на своих серверах? Является ли процесс обновления отличным от теста и производства? Вы всегда сначала обновляете тестовые серверы? И выполняете ли вы полное обновление всего программного обеспечения или просто устанавливаете выбранные обновления?


52
2018-05-18 15:33


Источник




Ответы:


я бегу apt-get update -qq; apt-get upgrade -duyq ежедневно. Это проверяет наличие обновлений, но не выполняет их автоматически.

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

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

Во-первых, я всегда обновляю менее критические системы. У меня также есть «план отката», если я не могу исправить систему. (поскольку большинство наших серверов являются виртуальными, этот план отката обычно состоит из снимок перед обновлением, которое я могу вернуть, если необходимо)

Это, как говорится, я думаю, что обновление сломало что-то только один или два раза за последние 4 года, и это было в очень настраиваемой системе - так что вам не нужно быть слишком сложным параноиком :)


30
2018-05-18 16:01



Я очень стараюсь трогать каждый сервер каждые 30 дней. На данный момент у меня есть 80 серверов. Я делаю их партиями по функциональной группе или операционной системе. - Thomas Denton
У нас есть cron-скрипт, который каждый день запускает эквивалент для наших ящиков SLES / OpenSuSE; когда он обнаруживает, что ему нужны пакеты, он отправляет билет в очередь системного администрирования в нашей системе запросов. (Он отслеживает, какие из них он отправил ранее в файле в / tmp, чтобы он не спам в очереди.) - Karl Katzke
В Debian есть два пакета: apticron и cron-apt, которые делают подобную вещь и отправляют вам по электронной почте, если есть доступные обновления. IME, apticron имеет преимущество, отправив вам журнал изменений, чтобы вы могли видеть, что изменилось. - David Pashley


В дополнение к предыдущим ответам - пара более конкретно вещей Debian: вы должны подписываться на Debian-безопасности объявляют а также Debian-анонс и / или проверить Страница безопасности Debian,


11
2018-05-18 16:12





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

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

Debian, как правило, очень стабильная ОС, и вы не должны слишком беспокоиться о поломках, но всегда читайте, что будет обновляться до того, как оно будет обновлено, и следите за тем, что кажется странным. Я также использую VCS в моем / etc / dir, чтобы убедиться, что любые изменения файла конфигурации можно увидеть с помощью команды git diff.


6
2018-05-18 16:11





Я делаю сухой запуск (первый), чтобы увидеть, что будет обновляться. Иногда библиотеки (назовем это libfoo для этого примера) меняют свой API, что нарушает программы, которые мы написали / установили сами. Если какая-то критическая библиотека обновлена, я захватываю источник и пытаюсь перестроить наши материалы против него до обновления.

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

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

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


3
2018-05-18 15:46





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

Если у вас только два сервера, процесс должен быть намного проще. Хотя я не думаю, что сделать «apt-get update / upgrade» - ваш лучший выбор.

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

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


2
2018-05-18 15:40





Мне нравится cron-apt для автоматизации этого процесса, но как @dinomite указал на другой вопрос относительно обновлений, настройка его специально для автоматизации обновлений, связанных с безопасностью, - очень умная идея - вы можете вручную обновить то, что вам нужно. Я использовал cron-apt для всех обновлений, но фактически изменил это на основе его ответа. Если вам это нравится, вы, вероятно, должны проголосуйте за его ответ а не этот.


1
2018-05-18 16:21





На debian я устанавливаю хрон-кв и отредактируйте его файл конфигурации, чтобы отправить мне письмо, если все изменения. таким образом, я получаю уведомление, если есть обновления для моих систем и обновления вручную


1
2018-05-30 19:50





Вдоль тех же линий, что и cron-apt, вы должны взглянуть на необслуживаемые-обновления пакет http://packages.debian.org/lenny/unattended-upgrades,

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

Официальное руководство по серверу Ubuntu содержит подробный раздел, посвященный использованию пакета автоматической установки обновлений https://help.ubuntu.com/9.04/serverguide/C/automatic-updates.html

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

Существует также опция конфигурации, чтобы отправлять вам результаты каждого обновления безопасности, после его применения. Кроме того, если бы были какие-либо диалоговые или интерактивные подсказки, которые были представлены во время обновления, те, которые будут нуждаться в ручной настройке с помощью системного администратора, также будут упоминаться об этом.


1
2018-06-06 22:15





Я лично отключу автоматические обновления и не регулярно выполняю какое-либо обновление пакетов на серверах в моей среде, за исключением случаев: (a) имеется важный совет CERT для одного из пакетов в моей системе; (б) Мне нужно обновить отдельные пакеты по определенным причинам; (c) ОС или пакеты достигают конца цикла, их больше не будет поддерживать, и нам необходимо продолжать поддерживать. Мое рассуждение заключается в том, что модернизация, не зная, что меняется, или почему оставляет слишком много места для чего-то взлома. Я занимаюсь такими вещами, как 14 лет, и это хорошо работает.


1
2018-01-29 00:08





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

Насколько часто идет: Как только будет доступно обновление!


0
2018-06-03 20:14