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

Первый день во FreeBSD

Антон Карпов, toxa@cterra.ru

Спецвыпуск: Хакер, номер #051, стр. 051-018-3


# Perform daily/weekly/monthly maintenance.

#1 3 * * * root periodic daily

#15 4 * * 6 root periodic weekly

#30 5 1 * * root periodic monthly

Есть и другой выход: можно не убивать sendmail, а отрезать его от внешнего мира, заставив слушать только на 127.0.0.1. Все подробности этого процесса - в man sendmail или у OpenBSD, в которой sendmail по умолчанию принимает соединения только от lokalhost (/etc/mail/localhost.cf).

Венцом "первого этапа" будет обновление системы до выбранной версии, то есть сборка из исходных текстов ядра, базового окружения и документации. Но перед тем как компилировать все и вся, вспомним про волшебный /etc/make.conf. В базовое окружение FreeBSD входит много программ и сервисов, но разве нам нужен на рабочей станции сервер имен named или недавно убитый почтовый сервер sendmail? Наконец, зачем целых три пакетных фильтра (pf, ipfw2, ipf), службы UUCP, I4B (isdn for freebsd), ATM или поддержка IPv6? Тщательное прочтение man make.conf поможет сэкономить много времени при пересборке системы из исходников. Так что смело можно добавлять в /etc/make.conf как минимум следующее:

CFLAGS= -O2 -pipe -march=pentium4

COPTFLAGS= -O2 -pipe -march=pentium4

CPUTYPE?=pentium4

NOINET6=true

NO_BIND=true

NO_SENDMAIL=true

NO_MAILWRAPPER=true

NO_KERBEROS=true

NO_LPR=true

NO_UUCP=true

NO_PF=true

NO_I4B=true

NO_IPFILTER=true

Разумеется, то, что уже существует в системе после установки, никуда не исчезнет, но новые версии этих программ не будут собраны, и ты можешь раз и навсегда потерять bind, sendmail, etc. Заметь, что кроме указаний на то, какие части системы собирать не собираемся, мы прописали флаги оптимизации GCC под свой процессор.

Теперь нужно выполнить следующие команды:

~# cd /usr/src %26%26 make buildkernel %26%26 make buildworld %26%26 make installkernel

~# reboot

(система перезагрузится с новым ядром)

~# mergemaster -p

~# cd /usr/src %26%26 make installworld

~# mergemaster

Потом поставить "мета-порт" docproj, который установит утилиты, необходимые для сборки документации:

~# cd /usr/ports/textproc/docproj %26%26 make install clean

А после этого соберем саму документацию. Я предпочитаю любоваться на нее в формате html:

~# cd /usr/doc %26%26 make FORMATS="html" install clean

За подробностями всего магического процесса пересборки системы из исходников обращайся к Handbook, я же могу только констатировать, что в результате ты получишь свежую систему с необходимым набором базового софта и актуальной документацией. Неплохо для первого этапа, правда?

Шаг №2. Добавляем программы

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

Назад на стр. 051-018-2  Содержание  Вперед на стр. 051-018-4