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

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

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

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


*default host=cvsup5.ru.FreeBSD.org

*default base=/usr

*default prefix=/usr

*default release=cvs tag=.

*default delete use-rel-suffix compress

src-all

ports-all

doc-all

Возникает закономерный вопрос: "А нужно ли тянуть из портов японские, вьетнамские, еврейские и прочие локализации, и нужна ли соответствующая документация?" Конечно, нет, поэтому создаем файл /usr/sup/refuse (потому что префикс *default prefix=/usr) следующего содержания:

~# cat /usr/sup/refuse

doc/bn_*

doc/da_*

doc/de_*

doc/es_*

doc/el_*

doc/fr_*

doc/it_*

doc/ja_*

doc/nl_*

doc/no_*

doc/pl_*

doc/pt_*

doc/sr_*

doc/tr_*

doc/zh_*

ports/arabic

ports/chinese

ports/french

ports/german

ports/hebrew

ports/hungarian

ports/japanese

ports/korean

ports/portuguese

ports/polish

ports/ukrainian

ports/vietnamese

Если ты ставил систему с компакт-диска, то установи с него же коллекцию портов и дерево исходных текстов и документации, а потом обнови их:

~# cvsup -L2 /etc/all-supfile

Можно еще больше облегчить себе жизнь внимательно прочитав /usr/src/Makefile, а потом - man make.conf. /etc/make.conf при правильной настройке позволяет здорово уменьшить количество телодвижений при обновлении системы. В данный момент нас интересуют следующие переменные, которые нужно вписать в /etc/make.conf (их названия говорят сами за себя и комментариев не требуют):

SUP_UPDATE=yes

SUP=/usr/local/bin/cvsup

SUPFLAGS=-L 2

SUPHOST=cvsup5.ru.freebsd.org

SUPFILE=/etc/src-supfile

PORTSSUPFILE=/etc/ports-supfile

DOCSUPFILE= /etc/doc-supfile

DOC_LANG=en_US.ISO8859-1 ru_RU.KOI8-R

Теперь можно обновить разом порты, исходники системы и документации одной командой:

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

Обновление системы из полученных исходников отложу на потом, а пока потрачу пару минут на отключение в /etc/rc.conf лишних сервисов, совершенно не нужных на настольном ПК, а кроме этого впишу некоторые полезные переменные:

fsck_y_enable="YES"

usbd_enable="YES"

sendmail_enable="NONE"

sshd_enable="NO"

syslogd_flags="-ss"

Тем самым полностью был отключен запуск sendmail(8) и всех его агентов, syslogd'у было запрещено слушать сетевой сокет (514/udp), включен демон мониторинга USB-устройств usbd, а также была "автоматизирована" работа программы восстановления целостности файловой системы после сбоев (fsck), чтобы она не спрашивала, исправлять ошибки или нет, а молча фиксила их. До кучи также отключили sshd. Зачем он на домашней машине? Хотя если ты планируешь получать доступ к рабочей машине из локальной сети или интернета, то можешь его оставить. В остальном можно полагаться на разумные значения в /etc/defaults/rc.conf. И тут (внимание!) проявляется одна из самых частых ошибок начинающих администраторов. Отключив sendmail за ненадобностью, они забывают о том, что система все еще продолжает слать локальному root’у письма-отчеты о состоянии системы (генерируемые утилитой periodic(8). Разумеется, она пытается использовать для этого локальный почтовый сервер, который только что тихонько был убит. В итоге за пару недель/месяцев/лет эксплуатации в /var/spool/clientmqueue накапливается столько недоставленной макулатуры, что администратор узнает об этом лишь при переполнении раздела /var, когда уже поздно пить "Боржоми". Не будем повторять ошибок ушедших поколений и просто отключим системные отчеты. Все-таки это настольный компьютер. Для этого закомментируем в /etc/crontab следующие строчки:

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