Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #68, ИЮЛЬ 2006 г.

царь-хостинг

_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:"

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