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

Первый день во 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:

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