Что вы делаете, обновляя или устанавливая пакет с помощью диспетчера пакетов, такого как Aptitude, чтобы после этого все работало?
Если менеджер пакетов что-то сломает после запуска, у вас есть контрольный список или вы планируете восстановить его?
Есть ли способы минимизировать риск поломки при обновлении диспетчера пакетов, и если да, то как вы это делаете?
Перед обновлением внимательно изучите изменения в списке пакетов. Многие проблемы, которые я видел в этом отделе, заключались в том, что люди слепо доверяли инструментам, а затем не замечали, что apache ушел из-за какой-то другой ошибки.
Проверяйте вывод apt при обновлении. Это может дать немедленную обратную связь, если что-то снова не запустится.
Настройте подходящее решение для всестороннего мониторинга. Nagios было бы началом.
Подготовьте текущую резервную копию.
Знай, что делаешь. Не нажимайте кнопки только потому, что они мигают.
Переключитесь на сервер горячего резервирования.
Используйте только пакеты из вашего дистрибутива.
Используйте только пакеты из одного выпуска.
Не устанавливайте неупакованное программное обеспечение.
Не устанавливайте чужие пакеты.
Сначала попробуйте выполнить обновление на своем сервере контроля качества.
Мониторинг и тестирование. Мониторинг гарантирует, что он все еще работает (вне зависимости от того, отказывает ли менеджер пакетов или нет), а если вы делаете серьезное обновление, вы заранее все проверяете. Виртуализация может помочь вам легко дублировать производственную среду, автоматизация может помочь вам создать производственную реплику, а наличие постоянной промежуточной среды дает вам возможность попробовать что-то.
Когда вы выполняете обновление или какое-либо нетривиальное обслуживание, у вас должен быть полностью написан весь процесс, включая откат и тестирование после обновления.
«Практика системного и сетевого администрирования» - отличная книга для системных администраторов, в которой описаны процессы такого рода, а также способы составления контрольных списков и тому подобное.
Мой опыт работы с rpm
и yum
/yumex
, но это переводит.
При обновлении критически важного пакета я просто использую его в обычном режиме, чтобы убедиться, что он работает правильно. Если я обновлюсь bind
, затем я выполняю несколько DNS-запросов, которые, как я ожидаю, будут успешными. Если я обновлю Apache httpd
затем я открываю несколько веб-страниц. Если я обновлюсь open-office
затем я открываю один или два документа.
На тех редкий В некоторых случаях, когда обновление пакета оставляет желать лучшего, моя процедура восстановления такова:
Если после шага №4, описанного выше, он снова не работает, я повторяю, но возвращаюсь к предыдущей версии.
Перед любым серьезным обновлением я проверю, что моя резервная копия актуальна. Это спасло мою задницу один раз, когда я сделал обновление только для того, чтобы узнать, что новая версия еще не совместима с моей видеокартой и была задокументирована как таковая. (Моя неспособность полностью прочитать примечания к выпуску. Позор мне.) Это также спасло меня однажды, когда во время обновления мой жесткий диск вышел из строя.
Итак, чтобы ответить на ваш 3-й вопрос о минимизации риска:
chroot
в вашу установку из режима восстановления.