четверг, 9 июня 2011 г.

Обновление FreeBSD до 8.2

Обновление происходит из исходных кодов, поэтому прежде всего нам нужно получить необходимую версию исходников. Для этого используется утилита cvsup. Установить её можно из порта /usr/ports/net/cvsup-without-gui классической командой make && make install

Теперь следует создать конфигурационный файл supfile. В общем случае он требует минимум настроек:

*default host=cvsup5.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_8_2_0_RELEASE
*default delete use-rel-suffix compress
src-all

Первая строка определяет сервер с которого будет производится загрузка исходных кодов. Также важен параметр tag= находящийся в четвертой строке. Он определяет исходники какой версии будут загружены. Варианты значений этого параметра можно найти здесь. Более подробно о параметрах конфигурационного файла можно почитать в хэндбуке.

Запуск cvsup осуществляется командой вида:

cvsup -L 2 supfile

После того, как обновятся исходники, можно приступать к обновлению "мира" и ядра.

Вначале команды в необходимой последовательности, а потом комментарии к ним.


cd /usr/src
make -j4 buildkernel
make -j4 buildworld
make installkernel
reboot
shutdown now
mergemaster -p
cd /usr/src
make installworld
mergemaster
reboot

То есть мы компилируем ядро и "мир", устанавливаем ядро, перезагружаемся, переходим однопользовательский режим (также можно сразу загрузиться в этот режим выбрав single user), запускаем утилиту mergemaster чтобы сохранить конфиги, устанавливаем "мир", восстанавливаем конфиги, перезагружаемся.

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

Далее, утилита mergemaster. Она копирует все конфигурационные файлы измененные пользователем и просто важные в указанный каталог. В процессе выполнения показывается имя конфига и отличающиеся строки в новом и старом конфигах. Можно или установить рекомендуемый кнопкой "i" или сравнить построчно оба варианта клавишей "m". Тогда экран разделится на две части, где будут отображаться два варианта конфига. После этого можно будет выбрать какой из них использовать. Придется обработать довольно большое количество файлов и это может быть занудно, поэтом можно выполнить команду mergemaster -iU, что позволит автоматически установить недостающие конфиги и заменит не измененные пользователем.

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

Чтобы убедиться в успешности обновления узнайте текущую версию FreeBSD.

После обновления системы можно обновить установленные программы.

0 коммент.:

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