субота, 6 листопада 2010 р.

Сборка ядра FreeBSD. Если что-то пошло не так...

# make installkernel KERNCONF=NEW_KERNEL

В основном, процесс сборки, обновления и установки нового ядра FreeBSD проходит довольно гладко. Однако иногда бывает что-то пойдет не так, (увлёкшись чисткой лишнего, можно исключить и что-то нужное из состава ядра). Кстати, и на моей практике такое случалось пару раз. Ситуация осложнялась тем, что сервера находились удаленно и физического доступа к консоли сервера для принятия мер по оживлению системы нет.

Тут выхода два - либо самому ехать, либо объяснять по телефону как и что нужно сделать. И успех этой операции полностью зависит от вменяемости человека на другом конце провода. Собственно поэтому и решил написать статью, всегда проще дать ссылку, чем объяснять человеку на слух. Заодно расскажу про некоторые меры предосторожности при сборке нового ядра во FreeBSD.

Конечно желательно иметь KVM доступ к серверу, тогда и проблема частично снимается, но, как правило такого счастья нет.

Допустим, что ваше новое ядро не стартануло, или завелось, но счастья всё-равно нет (например по недосмотру не включили в ядро вашу сетевую, или поставили правило блокирующее весь трафик по умолчанию, да много чего может быть). В результате сервер не отзывается. Отчаиваться не стоит - можно загрузить старую версию ядра:

Перезагружаем сервер, на загрузочном экране консоли, выбираем 6-й пункт, Escape to loader prompt, после чего появится приглашение командной строки.

FreeBSD загрузка

На консоли вводим:

OK unload   # выгрузка текущего ядра
OK boot kernel.old   # загружаем старое ядро

Ну а теперь немного о подстраховке. Желательно, на самом первом этапе работы с ядром системы, скопировать рабочую версию ядра (сразу после установки ядро будет GENERIC) в отдельную папку, например:

# cp -Rp /boot/kernel /boot/kernel.good

В результате у нас всегда будет возможность загрузить kernel.good через системный загрузчик, как было описано выше.

Дополнительные материалы:
Сборка ядра FreeBSD.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments