Обновление мира ("world") FreeBSD
Обновленная версия статьи в
которой постарался учесть все пожелания и замечания оставленные в
коментариях. Рассматривается переход с версии 6.1 на 6.2.
Во FreeBSD имеется две ветки разработки: FreeBSD-CURRENT и
FreeBSD-STABLE. FreeBSD-CURRENT является последними рабочими версиями
исходных кодов FreeBSD и предназначена в первую очередь для
разработчиков, тестеров и просто интересующихся людей. В отличие от
FreeBSD-CURRENT ветка FreeBSD-STABLE является разработкой, из которой
делаются основные релизы. Соответственно для использования на
ответственных серверах рекомендуется FreeBSD-STABLE.
Для того чтобы иметь самые последние версии исходных текстов системы
необходимо провести синхронизацию с любым из серверов проекта FreeBSD.
Для этих целей воспользуемся утилитой cvsup с sup-файлом stable-supfile
из каталога /usr/share/examples/cvsup. Это наиболее рекомендуемый метод,
так как он позволяет вам загрузить набор исходных текстов один раз
полностью, а затем загружать только произошедшие изменения. Если
интернет трафик ограничен, то имеет смысл перенести исходные тексты с
установочного диска и затем провести синхронизацию.
Копируем stable-supfile и приводим его содержание к следующему виду.
server# cp /usr/share/examples/cvsup/stable-supfile /etc/ server# vi /etc/stable-supfile # Выбираем cvsup сервер. Кому какой ближе. *default host=cvsup2.ru.FreeBSD.org *default base=/var/db *default prefix=/usr # Качаем исходные тексты 6.2 ветки. Если необходимо 5, 4, 3 или 2.2, то меняем на # "RELENG_5", "RELENG_4", "RELENG_3", "RELENG_2_2" соответственно. # Если не указывать версию в ветке (RELENG_6), то будут скачиваться исходники # последней доступной версии, которая не обязательно может быть STABLE # (на момент написания статьи это 6.2RC2). *default release=cvs tag=RELENG_6_2 *default delete use-rel-suffix # Включаем сжатие трафика *default compress # Качаем полное дерево исходников src-all
| Запускаем cvsup и ждем пока закончится обновление.
server# cvsup -g -L2 /etc/stable-supfile
| Переходим в /usr/scr и начинаем процесс обновления. Запаситесь терпением, так как это занимает 1-2 часа на P4.
server# cd /usr/src/ server# rm -rf /usr/obj server# make -j4 buildworld
|
Где j4 - компилировать в 4 потока. Рекомендуется для однопроцессорных
машин, т.к. компиляция в большей степени требовательная к системе
ввода-вывода, а не процессору. Для многопроцессорных это значение можно
увиличить.
Для настройки системы можно использовать make.conf. Пример смотрите здесь /usr/share/examples/etc/make.conf.
server# make -j4 buildkernel KERNCONF=MYKERNEL
| Где MYKERNEL - ваше ядро. Без KERNCONF=MYKERNEL собирается с ядром GENERIC. В следующей строке поступаем соответственно.
server# make installkernel KERNCONF=MYKERNEL
| Перезагрузимся
Перейдем в однопользовательский режим. При загрузке жмем 4, либо из основного режима следующей командой.
Монтируем разделы файловой системы.
server# mount -u / server# mount -a server# mergemaster -p
| Устанавливаем мир
server# cd /usr/src server# make installworld
| Удаляем временные файлы
Сравниваем конфигурационные файлы
Несколько слов о работе этой утилиты. Она сравнивает уже установленные
файлы конфигурации с теми которые предлагаются новой версией FreeBSD.
Если есть отличия, то на экране появляется сообщение об этом. Первой
строкой в нем идет имя файла, который не соответствует новым
требованиям, а ниже сами отличия. Знаком "-" помечаются строки, которые
утилита собирается удалить, а "+" - которые будут добавлены.
В конце предлагаются следующие варианты:
d - удалить предлагаемый вариант и оставить старый;
i - установить предлагаемый вариант, удалив старый;
m - сравнить построчно старый и предлагаемый вариант;
v - посмотреть отличия в файлах снова.
Чаще всего можно жать i, но иногда это может привести к замене ваших
настроек на дефолтные. Так что будте внимательны. Например, у меня
установлен exim, а mergemaster предложил вернуть файл
/etc/mail/mailer.conf в первоначальное состояние. Это мне не нужно,
поэтому выбираю m.
Начинается построчное сравнение файлов. Экран делится на две части,
слева строки из старого файла, а справа из предлагаемого. При нажатии на
"Enter" выводятся возможные варианты последующих действий:
l - использовать вариант слевой стороны;
r - использовать вариант справой стороны;
и т.д.
В моем случае, чтобы оставить старые настройки жмем "l". После того
как сравнение кончилось, предлагаются следующие варианты:
i - установить получившийся файл;
r - повторить сравнение снова;
v - просмотреть получивщийся файл.
Возможен также вариант, когда с новой версией системы появляются
новые файлы, которых до этого не было. В таком случае предлагается
только 2 варианта:
d - удалить предлагаемый вариант и оставить старый;
i - установить предлагаемый вариант, удалив старый.
И в таком же духе сравниваются все файлы.
Перезагрузимся
server# reboot server# cd /usr/src/ server# make delete-old-libs
| Все. Проверяем.
server# uname -a server# ... FreeBSD 6.2-RELEASE #0 ...
| До обновления было FreeBSD 6.1-RELEASE-p10
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=18120.
размещено: 2006-10-23,
последнее обновление: 2007-01-15,
автор: serge
|