10.8. Установка заплаток ядра

Проблема

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

Решение

Загрузите заплатку и примените её к исходным текстам ядра. Затем откомпилируйте и постройте новое ядро. В нашем примере ядро 2.6.3 будет обновлено до версии 2.6.4. Заплатка должна находиться в каталоге второго уровня дерева сборки:

$ ls ~/src
linux-2.6.3 patch-2.6.4.bz2

Перейдите в каталог верхнего уровня дерева сборки, распакуйте и примените заплатку:

$ cd linux-2.6.3
$ bzip2 -d ../patch-2.6.4.bz2 | patch -s -p1

Ключ --dry-run позволяет протестировать команду, не внося изменений:

$ bzip2 -d ../patch-2.6.4.bz2 | patch -s -p1 --dry-run

Настройте конфигурацию и проведите сборку ядра. В дерево сборки включён сценарий scripts/patch-kernel для применения заплаток. Этот сценарий особенно полезен при установке нескольких заплаток, поскольку он автоматически применяет их в нужном порядке. Выполните в каталоге верхнего уровня команду:

$ scripts/patch-kernel

Заплатки должны применяться по очереди, и все они должны находиться в системе. Например, для использования заплатки patch-2.6.5-rc6 вам также понадобятся первые пять заплаток в серии (rc1-rc5).

Комментарий

Заплатки ядра бывают нескольких видов. Заплатки rc (Release Candidates) находятся в одном шаге от включения в стабильное ядро, а кандидаты pre (Pre-Release) — в двух шагах. Если вам хочется использовать новую возможность, но вы не хотите ждать стабильной версии, можно установить заплатки rc или pre. Однако стоит помнить, что такие заплатки могут быть менее стабильными по сравнению с финальными версиями.

Официальные версии ядра на сайте Kernel.org хорошо протестированы и готовы к эксплуатации. Версии с чётными номерами (например, 2.6, 4.14) являются стабильными, а версии с нечётными номерами (например, 2.7, 3.5) находятся в стадии разработки. Ядро Linux активно поддерживается до версии 2.0 включительно, а в архивах можно найти все версии ядра, начиная с первых релизов Linux.

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

См. также

patch(1); Kernel Newbies (http://kernelnewbies.org); Kernel.org (http://kernel.org).