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

Лучшие практики восстановления после неудачного обновления пакета UNIX?

Убедитесь, что все работает после обновления

  • Перед обновлением внимательно изучите изменения в списке пакетов. Многие проблемы, которые я видел в этом отделе, заключались в том, что люди слепо доверяли инструментам, а затем не замечали, что apache ушел из-за какой-то другой ошибки.

  • Проверяйте вывод apt при обновлении. Это может дать немедленную обратную связь, если что-то снова не запустится.

  • Настройте подходящее решение для всестороннего мониторинга. Nagios было бы началом.

Планы действий в чрезвычайных ситуациях

  • Подготовьте текущую резервную копию.

  • Знай, что делаешь. Не нажимайте кнопки только потому, что они мигают.

  • Переключитесь на сервер горячего резервирования.

Минимизация риска

  • Используйте только пакеты из вашего дистрибутива.

  • Используйте только пакеты из одного выпуска.

  • Не устанавливайте неупакованное программное обеспечение.

  • Не устанавливайте чужие пакеты.

  • Сначала попробуйте выполнить обновление на своем сервере контроля качества.

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

Когда вы выполняете обновление или какое-либо нетривиальное обслуживание, у вас должен быть полностью написан весь процесс, включая откат и тестирование после обновления.

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

Мой опыт работы с rpm и yum/yumex, но это переводит.

При обновлении критически важного пакета я просто использую его в обычном режиме, чтобы убедиться, что он работает правильно. Если я обновлюсь bind, затем я выполняю несколько DNS-запросов, которые, как я ожидаю, будут успешными. Если я обновлю Apache httpd затем я открываю несколько веб-страниц. Если я обновлюсь open-office затем я открываю один или два документа.

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

  1. Удалите неудачный пакет (иногда мне приходится «принудительно» удалить)
  2. Вручную удалите все временные файлы или файлы конфигурации, оставшиеся после удаления.
  3. Переустановите обновленный пакет, который не удался
  4. Тест

Если после шага №4, описанного выше, он снова не работает, я повторяю, но возвращаюсь к предыдущей версии.

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

Итак, чтобы ответить на ваш 3-й вопрос о минимизации риска:

  • Резервное копирование!
  • Всегда читайте примечания к выпуску
  • Если вы не выполняете обновление первым и нервничаете по этому поводу, поищите в Интернете, не жалуются ли другие на проблемы.
  • Подготовьте диск восстановления - для большинства современных дистрибутивов Linux установочный диск также является диском восстановления. Узнайте, какой механизм восстановления предоставляет ваш дистрибутив. Если возможно, загрузитесь через CDRom в режиме восстановления, чтобы вы понимали, как это работает, чтобы вы понимали, как chroot в вашу установку из режима восстановления.