23 апр. 2009 г.

FreeBSD: Отключаем пищалку

Ситуация: сижу, значит, на работе, в одном окошке делами насущными занимаюсь, в другом - FreeBSD в VMWare мучаю. А оно, чуть не ту кнопочку надавишь, бипером орет на весь кабинет. Внимание лишнее привлекает, да и раздражает изрядно.
Так вот, чтобы заставить ее заткнуться, достаточно такой вот команды:
kbdcontrol -b off

…и тишина…

22 апр. 2009 г.

FreeBSD: Тонкая настройка опций сборки отдельных портов в make.conf

Вот уж правду говорят: «Век живи — век учись!» В журнале «Хакер» нашел интереснейшую статейку: «Первый день во FreeBSD». И хотя во FreeBSD я не первый день, о следующей полезнейшей возможности я не знал.
Итак, оказывается, в /etc/make.conf помимо общих для всех портов опций, можно задавать опции сборки отдельно для каждого порта! Для этого нужно обрамить опции в условия:
.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

Эта запись означает, что если считывающий ее Makefile находится в заданном каталоге CURDIR, то указанная переменная считывается как переменная окружения и используется при сборке порта. Так как /etc/make.conf считывается при сборке каждого порта, то указание опций в make.conf аналогично тому, как если бы они были указаны при компиляции.

P.S. Помнится, наличием подобной фичи любили хвалиться фанаты Gentoo Linux. Так вот, у нас, BSD-шников, такое тоже имеется!

FreeBSD: Минимальная конфигурация ядра

Еще со времен FreeBSD 4.5, всякий раз, когда мне доводилось перетачивать ядро под конкретную железяку, ловил себя на мысли, что файл конфигурации становится с каждым разом ве меньше и меньше. Ну люблю я поизвращаться модульность и минимализм. Вот и сегодня, собирая ядро для домашнего роутера (интересная машинка кстати, позже опишу подробнее), я в очередной раз побил собственный рекорд. Итак, вот он (для 7.1-RELEASE):
cpu I686_CPU
ident REACTOR
options SCHED_ULE
options PREEMPTION
options INET
options FFS
options SOFTUPDATES
options UFS_DIRHASH
options COMPAT_43TTY
options _KPOSIX_PRIORITY_SCHEDULING
options KBD_INSTALL_CDEV
device eisa
device pci
device ata
device atadisk
device atkbdc
device atkbd
device psm
device vga
device splash
device sc
device pmtimer
device loop
device ether
device pty
device bpf

26 строк! Кто меньше? ;)

FreeBSD: решение проблемы с клавишами Home, Del, Ins в BASH

В процессе настройки домашнего роутера на базе FreeBSD, столкнулся со следующей проблемой: зайдя на него через PuTTY обнаружилось, что в BASH-е клавиши Home, Ins, Del вместо полагающихся им действий печатают мусор вроде ~[1, ~[4 и.т.п. Решение следующее:

1) В файл /etc/profile добавляем строку:
export INPUTRC=/usr/local/etc/inputrc

2) Создаем файл /usr/local/etc/inputrc следующего содержания:
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word

…и после перелогина эти клавиши начинают работать как положено.
Решение взято отсюда.

21 апр. 2009 г.

СССР — родина оверклокеров

Как-то в журнале «Наука и жизнь» то ли за 1986, то ли за 1987 год, попалась занимательная статья. Там описывалось, как с помощью замены кварца (оверклокинг!) и пары резисторов (вольтмоддинг!), можно в 1,5-2 раза увеличить производительность… калькулятора МК-52!!!