среда, 24 февраля 2010 г.

Обновление FreeBSD с релиза 6.2 на 8.0



Появилась задача - решить проблему нестабильной работы корпоративного прокси-сервера. Раз в примерно две недели сервер стал падать.

Исходные данные:
ОС: FreeBSD 6.2
сервер: SQUID 2.7.7.3

Известно, что эта ветка системы на данный момент уже не поддерживается.
Было принято решение не только перейти на 3-ю версию сквида, но и обновиться до последнего стабильного релиза FreeBSD, которым в настоящее время является 8.0 .

Попытка обновить порты прошла успешно. Впрочем, как и всегда.
Обновление исходных текстов для сборки "мира" вроде бы прошло корректно, но при попытке собрать "мир", появилась ошибка.

Поиск в сети дал вот этот документ с почтовой рассылки.

Кроме небольшого хинта с указанием параметров обновления портов и исходных кодов в /etc/make.conf , там содержиться более важное - автор выдвигает предположение, что сразу прыгнуть с 6-й ветки на 8-ю не получится.

Handy hint: you can csup your /usr/src and /usr/ports by:
# cd /usr/src
   # make update

if you put the following into /etc/make.conf:

SUP_UPDATE=     yes
SUP=            /usr/bin/csup
SUPFLAGS=       -L2
SUPHOST=        cvsupN.XX.freebsd.org
SUPFILE=        /usr/share/examples/cvsup/standard-supfile
PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile

Now, directly updating from 6.2 to 8.0 may not work.  You may find it necessary
to do the update in stages:  6.2 -> 7.0 -> 8.0.  Since about 5.4-RELEASE it has
generally been the case that you can update pretty freely within a major version
level (eg. 6.2 -> 6.4) and that you can update to the next highest major version
level (eg 7.2 -> 8.0) by simply csup'ing and doing a normal buildworld cycle. It should be possible to do as you want and jump several major versions at once in the same way, but this is not tested anything like as much and may not work.


И, вначале, нужно с 6-й обновиться на 7-ю и после этого, обновляться на 8-ю версию.

Эта мысль показалась не только вполне разумной, но и послужила отправной точкой для дальнейших действий.
Снова, после февральских праздников, обновил порты и исходные коды и приступил к сборке "мира".

Дело пошло.