Первый день во 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 следующие строчки: |