Что нам стоит мир построить?

Докучаев Дмитрий aka Forb

Xakep, номер #059, стр. 059-086-2


Таблица: Конф-файл для cvsup

*default host=cvsup.ru.FreeBSD.org

*default base=/usr

*default prefix=/usr

*default release=cvs tag=RELENG_4_8

*default delete use-rel-suffix

*default compress

src-all

Привести скучный листинг конфигурационного файла без разъяснения опций – ничего не сделать. Подобные строки ты можешь найти в каталоге / usr/share/examples/cvsup. Поэтому я счел нужным указать значение каждой строки конфига. Параметр *default host несет за собой хост, с которого будет производиться скачивание нужных файлов для новой системы. В нашем случае – русский сервер с поднятым на нем cvsupd. *default base и *default prefix – директории, в которые будут скидываться и инсталлироваться закачанные файлы. *default release, как ты уже догадался, означает версию новой системы. В нашем случае – RELEASE ENGLISH 4.8. *default delete use-rel-suffix – рекомендуемые параметры. Объяснять их значения не буду ;). *default compress устанавливается при слабом канале в инет либо при экономии трафика. src-all – тип обновления. В нашем случае – вся система. Могут встречаться также значения src-bin, src-ports и т.п. За расшифровкой обращайся к мануалу.

На старт!

Когда все сделано верно, можешь запускать cvsup. Этот шаг не требует траты нервов ;), даже при самом неудачном раскладе система не пострадает. Запускать клиент мы будем с двумя параметрами – дебаг и путь к конфу. Verbose output нам нужен для полного контроля над процессом, что никогда не бывает лишним. Итак, командуем:

# cvsup -g -L 2 /path/to/your/cvsup.conf.

После успешного коннекта на сервер консоль преобразуется выводом от diff, который синхронизирует удаленные и локальные тексты системы. Длительность процесса зависит от объема инсталлированных сырцов системы, а также от канала в инет. У меня ушло около 20 минут.

Когда клиент закончит работу, ознакомься с последними его сообщениями. Возможно, отключение было вызвано некорректной работой либо сбоем в протоколе (лично я такого не встречал, но это вполне реально). Если этого не произошло – можешь смело переходить к следующей процедуре.

Строим мир

Следующий шаг, который необходимо сделать – отдать команду построение мира, то есть всей системы. Но прежде следует выполнить несколько важных действий, чтобы лишний раз обезопасить себя от фатального завершения сборки. Перво-наперво редактируем файл /etc/make.conf (при его отсутствии скопируй конф из /etc/defaults). В нем надо раскомментировать опции CFLAGS и NOPROFILE. Это нужно, чтобы обходить построение библиотек для профилирования. Вообще, команда make перечитывает этот файл перед исполнением команд. Следующим шагом будет подготовка бинарных файлов. Дело в том, что из-за устаревшей версии системы некоторые новые опции команд могут оказаться неопознанными. Яркий пример – в конце выполнения buildworld используется бинарник dd с опцией osync, которая отсутствует в дефолтовой поставке dd. Выходов два: либо переустановить dd, либо портировать его из другой фряхи, версия которой выше.

Назад на стр. 059-086-1  Содержание  Вперед на стр. 059-086-3