суббота, 27 октября 2012 г.

Debian + wine и ошибка - "It appears that libnss-mdns is installed on your system"


Если при запуске wine на Debian amd64 получили ошибку:

 It appears that libnss-mdns is installed on your system,
 but lib32nss-mdns is not. Please note that Wine will not be
 able to access the Internet unless you either install
 lib32nss-mdns (or ia32-libnss-mdns), or uninstall libnss-mdns

требуется установить lib32nss-mdns


aptitude install lib32nss-mdns


пятница, 19 октября 2012 г.

Debian + Java + usb + hid

Собственно сама "обертка"-wrapper http://code.google.com/p/javahidapi/


Можно скачать binary пакет.
Можно скачать исходники и скомпилировать их по инструкции (осторожно, присутствуют синтаксические ошибки вида "make C linux", очевидно, что требуется "make -C linux").
Понадобится пакет mercurial если его еще нет.

hg clone https://code.google.com/p/javahidapi/

Для сборки по их инструкции понадобились дополнительные пакеты:

aptitude install libusb++-dev libusb-dev java-gcj-compat-dev libudev-devel libusb-1.0-0-dev

Готовую библиотеку необходимо скопировать из lib/native/linux/ в /lib и /lib32:

cp ./lib/native/linux/libhidapi-jni-64.so /lib/libhidapi-jni.so
cp ./lib/native/linux/libhidapi-jni-32.so /lib32/libhidapi-jni.so

Что бы запустить пример как указано в инструкции ("ant run"), необходимо отредактировать 78 строку файла build.xml --- <jvmarg value="-Djava.library.path=${basedir}/mac"/>

т.е. пример жестко забит на использование "mac", а нам нужен "linux"
 противном случае получаем при запуске ошибки вида:

 [java] Exception in thread "main" java.lang.UnsatisfiedLinkError: no hidapi-jni in java.library.path



среда, 17 октября 2012 г.

Debian + Java + usb


Взято тут http://www.libusb.org/
Сама библиотека http://sourceforge.net/projects/libusbjava/
Описание по установке http://libusbjava.sourceforge.net/wp/?page_id=8

Нужна LibusbJava - есть два варианта - либо ставим из sid пакет libusb-java-lib либо собираем сами. Для сборки понадобятся сами исходиники

svn checkout https://libusbjava.svn.sourceforge.net/svnroot/libusbjava/
(если нет svn - aptitude install subversion)


и пакеты:

aptitude install libusb++-dev libusb-dev java-gcj-compat-dev

Затем в каталоге LibusbJava выполняем:

ant linux

и созданный файл libusbJava.so.0.2.4.0 копируем в /usr/lib, а так же делаем симлинк

ln -s /usr/lib/libusbJava.so.0.2.4.0 /usr/lib/libusbJava.so


понедельник, 8 октября 2012 г.

через NAT не открываются некоторые сайты

Прямо скажем - разочаровываюсь в любимом дистрибутиве, нигде ранее такого не встречал. Давно не занимался настройкой nat, пришлось вспомнить. Быстро набросал правила и все вроде работает. Но вот беда - часть сайтов упорно не хотят у народа открываться. Коллектив женский - www.asos.com стал камнем преткновения.

Решилось прописыванием "магической" строки в правила файрвола:

$IPTABLES -o ppp0 -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 800:1536 -j TCPMSS --clamp-mss-to-pmtu

но неприятный осадок остался.

Ejabberd и mysql


Настройка для mysql

** Качаем схему (схема есть в /usr/share/doc/ejabberd/examples/mysql.sql.gz)
wget https://git.process-one.net/ejabberd/mainline/blobs/raw/2.1.x/src/odbc/mysql.sql


** Создаём пользователя ejabberd:
$ mysql -p -u root
mysql> GRANT ALL ON ejabberd.* TO 'ejabberd'@'localhost' IDENTIFIED BY 'password';
пароль ставим свой

** Создаём базу данных ejabberd:
mysql> CREATE DATABASE ejabberd;
mysql> quit

** Загружаем схему в БД:
$ mysql -D ejabberd -p -u ejabberd  < mysql.sql

** настраиваем ejabberd на MySQL, прописываем в ejabberd.cfg:
%%{auth_method, internal}.
{auth_method, odbc}.
{odbc_server, {mysql, "localhost", "ejabberd", "ejabberd", "password"}}.
пароль ставим свой

** Указываем какие таблицы будут храниться в MySQL.
Список всех таблиц, данные из которых можно перенести в MySQL можно узнать посмотрев какие модули odbc присутствуют:
ls /usr/lib/ejabberd/ebin | grep mod | grep odbc
mod_last_odbc.beam
mod_offline_odbc.beam
mod_privacy_odbc.beam
mod_private_odbc.beam
mod_pubsub_odbc.beam
mod_roster_odbc.beam
mod_vcard_odbc.beam
т.е. находим в конфиге строки вида {mod_last,     []}, {mod_offline,  []}, и меняем их на {mod_last_odbc,     []},  {mod_offline_odbc,  []}, в соответствии со списком найденых модулей


** скачиваем модули подключения erlang к MySQL -- https://support.process-one.net/doc/display/CONTRIBS/Yxa - не работала на момент установки - было довольно продолжительное время "The system is currently under maintenance. Please, come back in a while. Sorry for the inconvenience." или берем
svn co https://svn.process-one.net/ejabberd-modules/mysql/trunk mysql

Компилируем с помощью скрипта build.sh (для этого нужен полный erlang иначе будет сообщение вида "mysql Crash dump was written to: erl_crash.dump")


Из каталога ebin копируем файлы *.beam к остальным модулям (файлы с расширением *.beam). В Debian это /usr/lib/ejabberd/ebin/

Рестартим ejabberd, но при этом может остаться висеть процесс /usr/lib/erlang/erts-5.8/bin/beam и модуль для mysql не подхватиться - его надо убить и затем запустить ejabberd.





воскресенье, 7 октября 2012 г.

Samba конвертирование пользователей из smbpasswd в базу tdb

Обновили samba и с ней новая схема хранения настроек.
В Debian это /var/lib/samba/secret.tdb

Идем в каталог, где хранится файл паролей smbpasswd для samba и в нем выполняем:

pdbedit -i smbpasswd:./smbpasswd