Автоматизированное обновление ядра

Автоматизированное обновление ядра

Я пишу скрипт BASH, который автоматически настраивает, собирает и устанавливает последний образ ядра. Сгенерированное ядро ​​должно включатьgrsecuritypatchset. Он будет использовать предыдущую конфигурацию из /proc/config.gz, которую я создал вручную при компиляции первого пользовательского ядра на машине.

Безопасно ли полностью автоматизировать процесс? Это будет выглядеть так:

  1. Проверьте самую последнюю версию ядра, grsecurityдоступную для
  2. Загрузите grsecurityнабор исправлений и соответствующее дерево исходных кодов ядра
  3. Патч ядра
  4. Скопируйте предыдущий файл конфигурации ядра в исходный каталог ядра.
  5. Запустите make olddefconfigдля настройки ядра на основе предыдущей конфигурации
  6. Скомпилируйте ядро ​​с помощьюfakeroot make deb-pkg
  7. Установите полученные пакеты и измените приоритет загрузчика
  8. Отправьте мне письмо с указанием необходимости перезагрузки

Главный вопрос: вероятно ли, что ядро, скомпилированное с помощью, olddefconfigбудет содержать ошибки, которые не позволят системе загрузиться, если предыдущая конфигурация работает правильно? Это очень важно, поскольку это удаленный сервер, доступ к которому осуществляется через SSH, и ручное восстановление потребует больших усилий.

решение1

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

Теперь к вашему главному вопросу: будет ли ваш план и make olddefconfigсодержать ошибки, которые приведут к сбою загрузки?
Только идиот поверит, что любая система полностью защищена от ошибок. Когда вы хотите запуститьсамый последнийядро, как вы сказали, вы будете на переднем крае и будете иметь все преимущества и риски, связанные с этим. Снижение риска заключается в выборе долгосрочного релиза, в котором набор функций заморожен, и будут вводиться только исправления ошибок/безопасности.

В любом случае: любая перезагрузка сопряжена с небольшим риском сбоя.

Примечание: в прошлом я провел слишком много часов в центрах обработки данных, устраняя неполадки/неправильные настройки серверов, поэтому я рекомендую всем всегда добавлять подходящую опцию удаленного управления (например, HP ILO, Dell DRAC, Oracle ILOM и т. д. или шлюз KVM over IP) к вашим удаленным серверам, что позволит вам устранять большинство неполадок, не выходя из-за рабочего стола.

Связанный контент