Первый день во FreeBSD Антон Карпов, toxa@cterra.ru Спецвыпуск: Хакер, номер #051, стр. 051-018-5 Прежде чем ставить остальные программы, снова направляем взгляд на многострадальный make.conf. В нем, помимо указания системных переменных, можно указывать переменные для конкретного порта. Для этого нужно обрамить переменные в условия: .if ${.CURDIR:N*/ports/editors/vim} == "" NO_GUI=yes .endif Эта запись означает, что если считывающий ее Makefile находится в заданном каталоге CURDIR, то указанная переменная считывается как переменная окружения и используется при сборке порта. Так как /etc/make.conf считывается при сборке каждого порта, то указание опций в make.conf аналогично тому, как если бы они были указаны при компиляции: ~# cd /usr/ports/editors/vim %26%26 make NO_GUI=yes install clean (первый вариант) ~# cd /usr/ports/editors/vim %26%26 make -DNO_GUI install clean (второй вариант) Однако при обновлении порта той же утилитой portupgrade была бы "потеряна" опция, если бы ее не указали в make.conf. Теперь же не о чем беспокоиться, до тех пор пока такая опция есть в Makefile порта. Полезные опции (knobs) для популярных портов: .if ${.CURDIR:N*/ports/editors/openoffice-*} == "" WITH_TTF_BYTECODE_ENABLED=yes .endif .if ${.CURDIR:N*/ports/print/freetype2} == "" WITH_TTF_BYTECODE_ENABLED=yes .endif .if ${.CURDIR:N*/ports/mail/mutt-devel} == "" NOPORTDOCS=yes WITH_MUTT_NCURSES=yes WITHOUT_MUTT_SGMLFORMAT=yes WITH_MUTT_XFACE=no WITH_MUTT_SIGNATURE_MENU=yes WITH_MUTT_MAILDIR_MTIME_PATCH=yes WITH_MUTT_NNTP=yes WITH_MUTT_HTML=yes WITH_MUTT_IMAP_HEADER_CACHE=yes WITH_MUTT_MAILDIR_HEADER_CACHE=yes .endif .if ${.CURDIR:N*/ports/multimedia/mplayer} == "" WITH_OPTIMIZED_CFLAGS=yes WITHOUT_RUNTIME_CPUDETECTION=yes WITHOUT_GUI=yes NOPORTDOCS=yes WITH_DVD=yes WITH_LIBDVDREAD=yes WITH_LIBDVDNAV=yes .endif .if ${.CURDIR:N*/ports/www/mozilla} == "" WITHOUT_CHATZILLA=yes WITHOUT_MAILNEWS=yes WITHOUT_LDAP=yes WITHOUT_COMPOSER=yes WITH_SMB=no .endif Следующая на очереди программа - это рабочий shell. Действительно, можно довольствоваться стандартным tcsh, но я предпочитаю что-нибудь более удобное. И хотя самой популярной оболочкой является bash, по возможностям сейчас нет равных Z-shell. Так что я попытаюсь обратить тебя в свою веру ;-). ~# cd /usr/ports/shells/zsh %26%26 make install clean ~# chsh -s zsh user Шаг №3. Послесловие В принципе, основные настройки сделаны, теперь система может быть полностью отдана в твое распоряжение. Можешь делать с ней что хочешь и ставить что хочешь, благо 12 с лишним тысяч портов не дадут тебе скучать. Однако напоследок - пара маленьких приемов, которые могут пригодиться. Во-первых, на хороших LCD-мониторах стандартная 80x25 консоль смотрится весьма печально. Поправить это можно следующими опциями в /etc/rc.conf: allscreens_flags="-g 8x14 VGA_80x30 green black" font8x14="ter-k14n" font8x16="ter-k16n" где "ter-*" это шрифты из набора terminus, который можно взять по адресу www.is-vn.bg/hamster/terminus-font-4.11.tar.gz. Распаковав архив и перейдя в целевой каталог, следует набрать make raw для создания шрифтов под freebsd'шный консольный драйвер syscons. Затем нужные шрифты просто скопировать в /usr/share/syscons/fonts. Твоему монитору сразу полегчает :). Во-вторых, в качестве X-сервера ты наверняка используешь X.Org: он заменил опальный XFree86. Однако старый сервер все еще присутствует в системе, и чтобы при сборке портов система правильно определяла требуемые иксовые библиотеки, можно явно прописать использование xorg: |