FreeBSD Tips: а где же lspci?

Пользователям Линукса, которые только знакомятся с FreeBSD, будет трудновато без lspci, к которой они успели привыкнуть. Но не стоит отчаиваться! Во FreeBSD есть вполне функциональный аналог: pciconf -lv. Пользуйтесь (-:

lspci l
Апрель 16th, 2010 by none | Комментариев нет

FreeBSD: подключение UPS

Сегодня расскажу о том, как подключить UPS APC Smart 750 к FreeBSD. Основная задача — мониторинг состояния UPS, уведомление администратора о его работе, а так же корректное завершение работы сервера при пропадании питания и разрядке бесперебойника.

Как известно, Смарты имеют два интерфейса для подключения к компьютеру: USB и COM специфический свой, распайку com-кабеля без труда найдёте в Интернете. Так как на сервере у меня нету COM-а, то единственный выход остался подключение к usb. Не лишним будет напомнить, что поддержка usb должна быть включена в ядро.

Итак, начнём. Для начала надо бы узнать, видит ли наша система этот самый UPS. Для этого выполним следующее:

# dmesg | grep usb

Среди прочего можно заметить строчку:

ugen0.2: <American Power Conversion> at usbus0

Это говорит о том, что сервер увидел наш УПС и мы можем дальше работать с ним.  Так как у меня Smart UPS, то и использовать буду соответствующее приложение:  sysutils/apcupsd из портов. Сборка происходит как обычно при установке портов. Единственное, покажу свой конфиг:

# make showconfig
===> The following configuration options are available for apcupsd-3.14.5_1:
APCSMART_DRV=off «Compile APC SmartUPS serial driver»
APCDUMB_DRV=on «Compile dumb UPS driver»
CLIENT_ONLY=off «Only NIS client (no network server or drivers)»
CGI=on «Compile with CGI programms to show status»
PCNET_DRV=on «Compile PowerChute Network Shutdown driver»
USB=on «Compile with USB Support driver»
SNMP_DRV=off «Compile with SNMP driver»
TCP_WRAPPERS=on «Compile with TCP_WRAPPERS support»
TEST_DRV=off «Compile TEST driver»
GAPCMON=off «Build GTK GUI front-end»
===> Use ‘make config’ to modify these settings

Как видите, я собрал только с поддержкой USB, без COM. Так же я отключил snmp-драйвер, т.к. с ним у меня почему-то отказался собираться. Дальше всё как обычно:

# make install clean

Если всё прошло удачно, без ошибок, то можно считать, почти всё готово. Осталось только немножко сконфигурировать работу apcupsd и запустить его! (-:

Конфигурация, как не сложно догадаться, задаётся файлом apcupsd.conf из /usr/local/etc/apcupsd/. Этот файл достаточно хорошо комментирован, я остановлюсь только на некоторых опциях:

UPSNAME — как он будет называться у вас, вернее, как Вы хотите его назвать.

UPSCABLE usb - способ подключения UPS к компьютеру, в моём случае — usb

UPSTYPE usb
DEVICE
— всё сделано в соответствии с рекомендациями: тип — usb, для опции DEVICE поле оставить пустым

BATTERYLEVEL 5 — остаток от заряда батарей, в процентах, когда произойдёт выключение сервера

MINUTES 3 — если по оценке системы работы UPS хватит меньше чем на 3 минуты, то опять же произойдёт выключение системы.

Стоит отметить, что какое  из событий — BATTERYLEVEL или MINUTES — наступит раньше, то и будет выполнено. В любом случае, компьютер выключится корректно.

Последний штрих — это необходимо добавить старт apcusbd при старте системы. Для этого добавим в /etc/rc.conf следующее: apcupsd_enable=»YES»

Пришло время проверить, работает ли вся система. Для этого выполним следующее:

# apcaccess status
APC      : 001,042,1037
DATE     : Mon Mar 15 12:34:07 EET 2010
HOSTNAME : none.com.ua
RELEASE  : 3.14.5
VERSION  : 3.14.5 (10 January 2009) freebsd
UPSNAME  : Smart UPS 750
CABLE    : USB Cable
MODEL    : Smart-UPS 750
UPSMODE  : Stand Alone
STARTTIME: Mon Mar 15 11:53:07 EET 2010
STATUS   : ONLINE
LINEV    : 210.2 Volts
LOADPCT  :  11.7 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  70.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 241.9 Volts
SENSE    : High
DWAKE    : -01 Seconds
DSHUTD   : 180 Seconds
LOTRANS  : 208.0 Volts
HITRANS  : 253.0 Volts
RETPCT   : 000.0 Percent
ITEMP    : 28.3 C Internal
ALARMDEL : Always
BATTV    : 27.3 Volts
LINEFREQ : 50.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT  : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0×07000008 Status Flag
SERIALNO : AS0611342649
BATTDATE : 2006-03-13
NOMOUTV  : 230 Volts
NOMBATTV :  24.0 Volts
FIRMWARE : 651.12.I USB FW:4.2
APCMODEL : Smart-UPS 750
END APC  : Mon Mar 15 12:34:19 EET 2010

Как видите, UPS полностью заряжен (BCHARGE  : 100.0 Percent), автономной работы хватит на 70 минут (TIMELEFT :  70.0 Minutes). А так же много другой различной информации. Чтобы прям сейчас, немедленно стартануть думона для бесперебойника, выполним следующее:

# /usr/local/etc/rc.d/apcupsd start

Демон должен запуститься без проблем и ошибок.  В завершение следует внести ещё некоторые изменения в управляющие файлы: changeme, commfailure, commok, offbattery и onbattery. Изменения состоят в том, чтобы указать e-mail, на который будут слаться все уведомления в работе UPS, а так же желательно задать hostname, чтоб знать, что именно у нас не работает.

Вот, в принципе, и всё, что я хотел рассказать о настройке подключения UPS к FreeBSD.

Март 15th, 2010 by none | 3 комментария

FreeBSD Tips: конфигурирование портов

Сегодня будет небольшая подсказка по работе с заданием конфигурации при сборке портов.  Т.е. ничего нового я не скажу, но вот как узнать,  задать, изменить или удалить текущую конфигурацию для данного порта.  Безусловно, ничего нового и революционного я не расскажу, но интересно должно быть. Да и не упомнить всего.  Хотя всю данную информацию можно всегда найти при помощи команды man ports.

Основные команды (выполнять, находясь в директории порта):

# make showconfig — показать текущие опции сборки порта

# make config — задание или изменение текущих настроек

# make rmconfig — удалить все текущие настройки для порта

Существуют так же некоторое количество вспомогательных команд:

# make showconfig-recursive — показать настройки для текущего порта и всех зависимостей

# make config-recursive — задать настройки для текущего порта и всех зависимостей

# make rmconfig-recursive — удалить настройки для текущего порта и всех зависимостей

Последняя доступная команда:

# make config-conditional — пропустить задание опций для портов, у которых уже были заданы требуемые опции.

Ну и после внесения изменений не забываем сделать следующее:

# make install clean

Удачной Вам сборки портов! (-:

Март 12th, 2010 by none | 3 комментария

Виснет The Bat?

Думаю многие пользователи этого замечательного почтового клиента сталкивались с такой проблемой: При попытке получить почту The Bat намертво зависает… при этом загрузка процессора может достигать 100%! Как ни трудно догадаться, дальнейшая работа на данном компьютере в нормальном режиме невозможна… Приходится запускать «Диспетчер задач», убивать процесс и заново запускать… Только вот совсем не факт, что после перезагрузки The Bat начнёт нормально функционировать… Так вот, оказалось есть очень необычное, но в большинстве случаев, действенное решение! (-: Для этого идём в корневую папку нашего почтового ящика, не в самого Bat-а, не в папку «Входящие», а именно в папку, имя которой совпадает с именем Вашего почтового ящика, находим там файл с названием «account.his» и удаляем его. После этого запускаем The Bat, и, о чудо, он работает!
Надеюсь кому-то это облегчит работу и немного жизнь (-:

Февраль 25th, 2010 by none | 13 комментариев

jQuery теперь и на русском

Никто не будет спорить, я надеюсь, о том, что литературы по такому замечательному продукту, как jQuery,  много быть не может (-: Поэтому Вашему вниманию предоставляется ещё одна книжка, теперь уже на русском языке: jQuery. Подробное руководство по продвинутому javascript. Больше хороших и интересных сайтов!

P.S. Не пугайтесь, это всего лишь само самораспаковывающийся архив (-:

Февраль 9th, 2010 by none | 3 комментария