царь-хостинг _MIF_ (ROOT@SECURITYLAB.CO.IL) Спецвыпуск: Хакер, номер #068, стр. 068-044-2 [the beginning.] Первым делом, после того как система загрузилась, проверяем, что нет никаких проблем с железом, установка прошла без сбоев, и система распознает все корректно. # dmesg | more # cat /var/log/messages [make.] Так как нам предстоит компилировать ядро и кучу разнообразного софта, то сначала необходимо оптимизировать процесс компиляции. Многие часто не придают этому значения, не зная, что таким образом мы не только выигрываем время при сборке, но и оптимизируем все под наше железо и ОС. Идем в /etc/make.conf и там пишем: Листинг файла make.conf # Тип твоего процессора. # Для AMD - athlon-mp, athlon-xp, athlon-4, athlon-tbird, athlon, k6-3, k6-2, k6, k5. # Для Intel - p4, p3, p2, i686, i586/mmx, i586, i486, i386. CPUTYPE?=p4 CPUTYPE=p4 # Совместимость с BSD 4.X COMPAT4X=true # Указываем дополнительные флаги CFLAGS=-O1 -pipe -march=pentium4 -mtune=pentium4 # Говорим, что флаги включать обязательно NO_CPU_CFLAGS=false NO_CPU_COPTFLAGS=false # Отключаем сборку ненужных библиотек и софта MAKE_KERBEROS4=false MAKE_KERBEROS5=false NO_BIND=true NO_SENDMAIL=true NO_GAMES=true # Настройки Perl PERL_VER=5.8.8 PERL_VERSION=5.8.8 PERL_ARCH=mach NOPERL=no WITH_PERL=yes WITHOUT_PERL=no # Решаем проблемы с портами FORCE_PKG_REGISTER=yes [update.] В наш век разгула скрипткидисов и прочей нечисти крайне важно держать систему и софт обновленными. Исходники 5.4 обновляются очень редко, только в случае, если обнаружилась критическая уязвимость, а вот порты и документация - довольно часто. Сразу оговорюсь: в FreeBSD все надо ставить из портов. Это очень важно, поскольку в портах лежат уже адаптированные под нужную ось проги со всеми необходимыми патчами. Идем в /usr/ports/net/cvsup-without-gui и собираем порт: # make install clean После окончания процесса сборки нужно написать конфиг для cvsup. Идем в /etc, открываем там файл cvsupfile (я обычно переименовываю в cvsup.conf). # Сервер, с которым будем синхронизироваться. *default host=cvsup.FreeBSD.org # Куда будем складывать свеженькое: *default base=/usr *default prefix=/usr *default release=cvs # Тег ветки нашей системы *default tag=RELENG_5_4 *default delete use-rel-suffix # Используем сжатие при передаче данных *default compress # Что будем синхронизировать? # Все исходники src-all *default tag=RELENG_5_4 *default tag=. # Все порты ports-all # Весь RTFM doc-all После сборки cvsup-without-gui в /usr/local/bin у тебя появился бинарник cvsup. Запускать его надо со следующими параметрами: /usr/local/bin/cvsup -g -L 2 -z /путь/к/конфигу Согласись, держать команды в памяти неудобно. Поэтому мы напишем скрипт и автоматизируем процесс обновлений. Создаем файл cvs_up: # touch cvs_up Открываем его любым редактором и пишем такой скрипт: #!/bin/sh echo "Starting CVSup..." case "$1" in -t) /usr/sbin/ntpdate -v ru.pool.ntp.org ;; -q) /usr/sbin/ntpdate -v ru.pool.ntp.org 2>&1 > /dev/null /usr/local/bin/cvsup -g -L 2 -z /etc/cvsup.conf 2>&1 > /dev/null ;; *) /usr/local/bin/cvsup -g -L 2 -z /etc/cvsup.conf ;; esac echo "Packages needed to update:" |