Журнал Системный Администратор, Июнь 2007

Журнал Системный Администратор

Июнь 2007

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


FreeBSD: некоторые особенности сборки ядра

Сергей Супрунов

Сборка собственного ядра на сервере – это почти обязательный ритуал для каждого системного администратора. Сегодня мы поговорим о том, как это делать по возможности быстро и эффективно.

Плюсы и минусы «стандартного» подхода

Информацию о том, как собирать собственное ядро, можно найти практически в любой книге, посвящённой системе FreeBSD. Естественно, есть она и в официальной документации (в частности, см. Handbook), так что не будем останавливаться на этом вопросе.

В конфигурационном файле ядра в первую очередь по устоявшейся традиции отключают все «лишние» устройства. Действительно, какой смысл собирать в ядре поддержку сетевых карт USB или SCSI-дисков, если их в сервере нет и в ближайшие годы не планируется? Так что, добавляя поддержку пакетного фильтра или квот, практически любой системный администратор заодно пробегает и по стройным рядам device-строк, безжалостно расставляя комментарии перед теми, которые выглядят подозрительно.

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

Но есть здесь и небольшой недостаток – время на сборку модулей будет всё равно потрачено. И зачастую даже небольшое изменение конфигурации ядра требует нескольких часов на пересборку, особенно на не слишком мощном «железе». Как правило, особых проблем это не создаёт (запустил сборку и пошёл обедать; да и на вопрос начальства «Чем занимаешься?» всегда можно честно ответить: «Ядро собираю»). Однако иногда «жаба душит», когда десятки минут созерцаешь процесс сборки чего-то, что никогда на сервере не понадобится... Попытаемся решить эту проблему.

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке