RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Для обновления системы c помощью cvsup нам необходимо поставить пакет cvsup из порта /usr/ports/net/cvsup-without-gui. Ставится обычно: 1. заходим в папку 2. делаем make 3. make install 4. make clean
Дальше нам необходимо настроить конфиг файл. Файл называется cvsupfile и лежит в папке /etc. Вот пример моего файла
Вы можете смело скопировать этот файл и использовать его.
*default host=cvsup.FreeBSD.org - адрес сервера откуда мы потащим обновления. *default tag=RELENG_5_3 - до какой версии обновляемся src-all - обновить исходники системы *default tag=. - это строкой указываем до какой версии обновить порты, если укажите вместо точки, чтото другое то порты просто удалятся. ports-all - указываем что нам надо обновить все порты. После того как файл отредактировали под себя надо запустить обновление ситемы. Для это го надо выполнить команду: cvsup -g -L 2 /etc/cvsupfile и ждите пока закачаются новые исходники системы. В моем примере, я обновляю систему до версии FreeBSD-5.3.
RELENG_4 - обновление до FreeBSD-4-Stable RELENG_4_10 - обновление до FreeBSD-4-10 RELENG_5 - обновление до FreeBSD-5-Stable RELENG_5_3 - обновление до FreeBSD-5-3 RELENG_6 - обновление до FreeBSD-6-Stable . - обновление до Current версии, на рабочих серверах этого лучше не делать. Если только вы обновляете порты, тогда нужно указать точку, иначе как в моем примере, указывать перед портами до какой версии.
После обновления идем в папку /usr/src. Все изменения версий описаны в файле UPDATING. Дальше буду просто писать какие надо выполнять команды:
1. cd /usr/obj 2. rm -rf * Если при удаление выдало ошибки по поводу установленных флагов, то необходимо выполнить команду chflags -R noschg * и потом повторить удаление. 3. cd /usr/src Вот теперь мы собственно и начнем собирать систему: 4. make buildworld конфигурим ядро: 5. make buildkernel KERNCONF=YOUR_KERNEL_HERE (YOUR_KERNEL_HERE - название ядра которое лежит в папке /usr/src/sys/i386/conf. Но заметьте, вы путь не указываете, а указываете только имя файла. Советую переименовать файл, чтобы скомпилилось новое ядро, а не то что было до обновления системы) инсталируем ядро: 6. make installkernel KERNCONF=YOUR_KERNEL_HERE 7. reboot (загрузиться в single mode) В следующем пункте будьте осторожны, здесь проверяются конфигурационные файлы и предлагается заменить файлы вашей системы файлами новой системы; оставить старые файлы; объединить. Таким макаром можео удалить всех своих пользователей, поэтому все делаем аккуратено: 8. mergemaster -p Инсталим новую систему: 9. make installworld И снова правим файлы: 10. mergemaster И последняя перезагрузка 11. reboot
PS. Вот так вот и положено обновлять систему. Но есть маленькое отстепление: сервер рабочий, сервер удаленный как его в single mode перевести? Никак ;) Поэтому при обновлении я пропускаю пункт 7 и 8 и перехожу сразу к 9 пункту. Никаких проблем после обновления системы у меня не было, кроме одного раза, когда я по глупости не внимательно сделал mergemaster. Но сама система работала, кроме почты)).
PS2. При обновлении портов, нам как бы не очень нужны порты: китайские, японские и т.д. Поэтому мы можем не обновлять эти порты экономя трафик и время. Это достигается с помощью создания файла refuse со следующим содержанием:
Для обновления системы c помощью cvsup нам необходимо поставить пакет cvsup из порта /usr/ports/net/cvsup-without-gui. Ставится обычно: 1. заходим в папку 2. делаем make 3. make install 4. make clean
А, можно вот это разжевать? Ведь не все знают, как другие делают "обычно"?
от себя еще добавлю что делать mergemaster лучше с флагами -a -p они позволят автоматически обновить все конфиги которые не были изменены пользователем после установки системы и предложит поменять те файлы которые были уже изменены ранее... тут есть два варианта либо ОЧЕНЬ внимательно менять либо не менять не один и просто добавить в /etc/group строку audit:*:77: