Обновление ядра и мира FreeBSD («world»)

Последовательность действий для обновления ядра и мира на FreeBSD

1) Обновляем порты

Создаем файл с параметрами обновления. В моем примере выкачаются порты  FreeBSD RELEASE 7.2

#touch /usr/home/user/mysup

 

#ee /usr/home/user/mysup

 

*default host=cvsup.univ.kiev.ua
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_2
*default delete use-rel-suffix
*default compress
src-all
ports-all tag=.
doc-all
www
cvsroot-all

С таким конфигом качается не STABLE, а RELEASE со всеми на
текущий момент заплатками, что есть правильно, т.к. держать на сервере все-таки лучше
замороженный RELEASE чем STABLE. Хотя кому как, по мне так лучше один раз систему пересобрать,
а потом только следить за рассылками, да патчи по необходимости накладывать.
Но это только мое мнение.

Запускаем обновление через cvsup

#cvsup -g -L2  /usr/home/user/mysup

2) После обновления портов настраиваем конфиг нового ядра.

Для 32-х битной системы, дефолтовый файл ядра (GENERIC), находится по пути —

#/usr/src/sys/i386/conf/GENERIC

Для 64-х битной системы, дефолтовый файл ядра (GENERIC), находится по пути —

#/usr/src/sys/amd64/conf/GENERIC

Копируем GENERIC с другим именем, настраиваем что нам нужно в ядре и дальше уже используем имя которое указали в ядре, например —

#cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/SOULBRAT

Не забудьте в файле ядра поменять значение ident на свое

ident SOULBRAT

В статье — Пересборка ядра FreeBSD (buildkernel) рассмотрена подготовка и пересборка ядра системы.
По этой статье, Вам необходимо ТОЛЬКО подготовить Ваше ядро к установке. Но НЕ выполнять саму установку, потому как вам необходимо обновить Мир (world) .

3) Следующий шаг обязателен при пересборке релизов, если Вы не обновляетесь на следующую ветку, пропускаете этот шаг.

#cd /usr/obj --
# chflags -R noschg *
# rm -rf * 

4) Собираем мир и ядро

#cd /usr/src/
# make buildworld

# cd /usr/src/
# make buildkernel KERNCONF=SOULBRAT

5) Инсталлируем ядро

# make installkernel KERNCONF=SOULBRAT

После этого перезагружаемся и переходим в однопользовательский режим.

# shutdown -r now

В однопользовательском режиме, монтируем разделы файловой системы

# mount -u /
# mount -a
# mergemaster -p

Устанавливаем мир

# cd /usr/src
# make installworld
# make delete-old

Сравниваем конфигурационные файлы

# mergemaster

(лично я делаю mergemaster -iU, это позволяет установить отсутствующие конфигурационные файлы автоматически,
а также автоматически заменяет конфигурационные файлы, которые не были изменены пользователем)

Перезагружаем систему

# reboot

6) Следующий шаг обязателен при пересборке релизов, если Вы не обновляетесь на следующую ветку, пропускаете этот шаг.

Установите пакет совместимоcти с номером предыдущего релиза, для того что бы установленные программы работали.

# /usr/ports/misc/compat6x/make install clean 

или

# portupgrade --all --force 

(НО можно не делать если собрать compat6x)

7) Удаляем старые библиотеки

# cd /usr/src/
# make delete-old-libs

Проверяем что все программы работают и смотрим результат —

# uname -a
FreeBSD soulbrat.org.ua 7.2-RELEASE-p8

Вот и все. Как видим в пересборке мира и ядра нет ничего страшного и сложного. А для системы и повышения безопасности это очень необходимая вещь.

#################################################
P.S. Несколько слов о работе утилиты mergemaster. Она сравнивает уже установленные файлы конфигурации с теми,  которые предлагаются новой версией FreeBSD. Если есть отличия, то на экране появляется сообщение об этом. Первой строкой в нем идет имя файла, который не соответствует новым требованиям, а ниже сами отличия. Знаком «-» помечаются строки, которые утилита собирается удалить, а «+» — которые будут добавлены.
В конце предлагаются следующие варианты:

d - удалить предлагаемый вариант и оставить старый;
i - установить предлагаемый вариант, удалив старый;
m - сравнить построчно старый и предлагаемый вариант;
v - посмотреть отличия в файлах снова.

Чаще всего можно жать i, но иногда это может привести к замене ваших настроек на дефолтные. Так что будте внимательны. Например, у меня установлен exim, а mergemaster предложил вернуть файл /etc/mail/mailer.conf в первоначальное состояние. Это мне не нужно, поэтому выбираю m.
Начинается построчное сравнение файлов. Экран делится на две части, слева строки из старого файла, а справа из предлагаемого. При нажатии на «Enter» выводятся возможные варианты последующих действий:

l - использовать вариант слевой стороны;
r - использовать вариант справой стороны;
и т.д.

В моем случае, чтобы оставить старые настройки жмем l. После того как сравнение кончилось, предлагаются следующие варианты:

i - установить получившийся файл;
r - повторить сравнение снова;
v - просмотреть получившийся файл.

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

d - удалить предлагаемый вариант и оставить старый;
i - установить предлагаемый вариант, удалив старый.
И в таком же духе сравниваются все файлы.

При копировании статьи, ссылка на источник обязательна!

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Язык
Страницы
Рекомендую