RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Сначала вам нужно обновить исходные коды системы, и мы будем использовать штатные средства операционной системы csup. Конфигурационный файл готов, его необходимо скопировать и изменить, он находится в директории:
# cd /usr/share/examples/cvsup/
# ls
README gnats-supfile refuse.README www-supfile
cvs-supfile ports-supfile stable-supfile
doc-supfile refuse standard-supfile
Укажем нужную версию операционной системы. В существующем конфигурационном файле стоит текущая версия.
# cat standard-supfile | grep default
*default host=CHANGE_THIS.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_1
*default delete use-rel-suffix
*default compress
Скопируем файл и немного изменим:
# cp standard-supfile standard-supfile-RELENG_7_2
# cat standard-supfile-RELENG_7_2 | grep default
*default host=CHANGE_THIS.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_2
*default delete use-rel-suffix
*default compress
Теперь нам необходимо синхронизировать src делается просто:
Когда синхронизация завершилась, приступим к обновлению системы (не забываем прочитать файлUPDATING чтобы все прошло гладко). Предупреждаю, что сначала мы будем устанавливать, ядроGENERIC и если все пройдет гладко и вы протестируете хотя бы один день сервер то можете, скомпилируйте свое ядро. Очистим директории, от предыдущего мусора соберем мир и ядро и установим ядро:
# cd /usr/obj ;chflags -R noschg * ;rm -rf *
# cd /usr/src
# make -j4 buildworld
# make -j4 buildkernel KERNCONF=GENERIC
# make installkernel KERNCONF=GENERIC
Теперь начинаются различия обновления локального и удаленного серверов. Рассмотрим два этих варианта:
Локальный сервер
Для безопасного и корректного обновления необходимо ввести машину в single mode можно сделать двумя способами:
Перезагрузкой и выбором в стартовом меню загрузку в single mode (номер 4).
# shutdown -r now
Или напрямую активировать данный режим:
# shutdown now
Удаленный сервер
При удаленном обновлении вы не должны вводить машину в single mode, если вы случайно это сделаете то потеряете связь с машиной. В виду вышесказанного необходимо действовать так:
Отключить в /etc/rc.conf все службы, в которых нет необходимости для запуска системы это СУБД,FTP, Apache и т.д. (sshd не выключать!)
Перезагрузить сервер
Можно и самим остановить эти службы без перезагрузки системы.
Продолжаем обновление
При запуске системы в нашем случае это локальный сервер необходимо смонтировать корневой каталог и остальные разделы, а при удаленном сервере нет необходимости в монтировании каталогов. А так же запустим mergemaster для создания начальной точки работы:
# /sbin/mount -u /
# /sbin/mount -a
# csh
# su
# mergemaster -p
Установим мир и удалим старые файлы.
# cd /usr/src
# make installworld
# make delete-old
Для автоматизации удаления старых версий выполните:
yes | make delete-old
mergemaster
Запустим mergemaster для синхронизации файлов, библиотек, конфигурационных файлов с новыми версиями.
# mergemaster -cv (c-контекстный diffs вместо унифицированного)
mergemaster сравнивает существующие конфигурационные файлы с теми, которые предлагаются новой версией FreeBSD. И если существуют отличия, то появляется сообщение об этом. Первой строкой в нем идет имя файла, который не соответствует новым требованиям, а ниже сами отличия. Знаки:
- - этим знаком помечаются строки, которые mergemaster собирается удалить.
+ - этим знаком помечаются строки, которые будут добавлены.
Есть несколько вариантов управления и в низу mergemaster предлагают следующие варианты работы с текущим файлом:
d - удалить предлагаемый вариант оставить старый.
i - установить предлагаемый вариант, удалив старый.
m - сравнить и объединить при необходимости построчно старый и новый вариант.
v - посмотреть отличия в файлах снова.
При построчном сравнивании экран делится на две части, слева строки из старого файла, а справа из предлагаемого. При нажатии на "Enter" выводятся возможные варианты последующих действий:
l - использовать вариант с левой стороны.
r - использовать вариант с правой стороны.
и т.д.
После того как сравнение файла закончилось, предлагаются следующие варианты:
i - установить получившийся файл.
r - повторить сравнение снова.
v - просмотреть получившийся файл.
Бывает, что с новой версией системы появляются новые файлы, которых до этого не было. В таком случае предлагается 2 варианта:
d - удалить предлагаемый вариант и оставить старый.
i - установить предлагаемый вариант, удалив старый.
И так сравниваются все файлы.
Завершение
Когда закончите, объединять файлы перезапустите систему и удалите старые библиотеки, а так же проверьте версию системы: