Я пишу скрипт BASH, который автоматически настраивает, собирает и устанавливает последний образ ядра. Сгенерированное ядро должно включатьgrsecuritypatchset. Он будет использовать предыдущую конфигурацию из /proc/config.gz
, которую я создал вручную при компиляции первого пользовательского ядра на машине.
Безопасно ли полностью автоматизировать процесс? Это будет выглядеть так:
- Проверьте самую последнюю версию ядра,
grsecurity
доступную для - Загрузите
grsecurity
набор исправлений и соответствующее дерево исходных кодов ядра - Патч ядра
- Скопируйте предыдущий файл конфигурации ядра в исходный каталог ядра.
- Запустите
make olddefconfig
для настройки ядра на основе предыдущей конфигурации - Скомпилируйте ядро с помощью
fakeroot make deb-pkg
- Установите полученные пакеты и измените приоритет загрузчика
- Отправьте мне письмо с указанием необходимости перезагрузки
Главный вопрос: вероятно ли, что ядро, скомпилированное с помощью, olddefconfig
будет содержать ошибки, которые не позволят системе загрузиться, если предыдущая конфигурация работает правильно? Это очень важно, поскольку это удаленный сервер, доступ к которому осуществляется через SSH, и ручное восстановление потребует больших усилий.
решение1
Если вы не можете позволить себе неудачу, тестируйте.
Даже если вы можете позволить себе неудачу, тестирование — это хорошо. Если это вообще возможно, запускайте сборку в выделенной тестовой среде. Во многих случаях виртуальный гость обеспечивает адекватную тестовую систему. Когда вы перезагрузитесь в обновленное ядро и все последующие тесты также завершатся успешно, только тогда скопируйте и разверните новый пакет на удаленной системе.
Теперь к вашему главному вопросу: будет ли ваш план и make olddefconfig
содержать ошибки, которые приведут к сбою загрузки?
Только идиот поверит, что любая система полностью защищена от ошибок. Когда вы хотите запуститьсамый последнийядро, как вы сказали, вы будете на переднем крае и будете иметь все преимущества и риски, связанные с этим. Снижение риска заключается в выборе долгосрочного релиза, в котором набор функций заморожен, и будут вводиться только исправления ошибок/безопасности.
В любом случае: любая перезагрузка сопряжена с небольшим риском сбоя.
Примечание: в прошлом я провел слишком много часов в центрах обработки данных, устраняя неполадки/неправильные настройки серверов, поэтому я рекомендую всем всегда добавлять подходящую опцию удаленного управления (например, HP ILO, Dell DRAC, Oracle ILOM и т. д. или шлюз KVM over IP) к вашим удаленным серверам, что позволит вам устранять большинство неполадок, не выходя из-за рабочего стола.