31 июл. 2009 г.

Openfire + Mail.ru IM Транспорт

Так как в используемом (и достаточно успешно) мной jabber-сервере Openfire нет собственного mrim-транспорта. А хочется ;) Однако есть возможность подключать внешние компоненты и использовать их ресурсы как свои собственные. Эта возможность в данном случае и используется. На питоне написан (и вроде даже как по сегодняшний день развивается) mrim-транспорт, скачать и поставить который особого труда не составляет. Дабы не увеличать и без того высокий уровень энтропии Сети, просто запоминаем сцылко, где можно взять пошаговое руководство по настройке этого дела. Дистрибутив значения не имеет.

23 июл. 2009 г.

Автоматизируем обновления dev-билдов Chrome

На сколь хватило моих близконулевых познаний в баше (я учусь тока =) ), накропал скриптец, который следит за обновлениями dev-билдов Google Chromium и тырит свежие билды, распаковывая куда надо и устанавливая свеженький "хромчег". В принципе, неделю уже сижу под этими билдами...фсе работает, особо не валится, летает шустренько.
Вот сам скрипт:
#!/bin/bash BASE=/home/delayer/\!/ URL=http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/ FILE=chrome-linux.zip
OLD=`cat LATEST` # версия текущего на момент обновления билда
NEW=`curl $URL/LATEST` # версия последнего билда
if [ $OLD -eq $NEW ] # изменилась ли версия билда
then exit 0 # обновлений не произошло, отбой
else
echo "$NEW" > LATEST # новая версия билда для последующих обновлений
wget $URL/$NEW/$FILE # скачать архив свежего билда
if [ -s $FILE ] then unzip -o -d $BASE $FILE # если файл существует и не нулевого размера, разархивировать.
fi
if [ $? -eq "0" ] #проверить, успешна ли (возвратила 0) последняя операция (unzip)
then echo "Updated from $OLD to $NEW at `date`" >> update.log # записать лог, если разархивация прошла успешно
else echo "Update failed at `date`" >> update.log # записать лог о неуспешной операции
fi
fi
Вдруг кому сгодится...
З.Ы.: для включения работы с flash-ом, нужно создать в корне chrome-a папку plugins и слинковать или скопировать в нее библиотеку libflashplayer.so. При запуске указать опцию --enable-plugins.

17 июл. 2009 г.

Brother MFC-7420 + xsane

Для того, чтобы заработал xsane на Debian Lenny с МФУ Brother-MFC7420R, недостаточно слить/установить драйвера с оффсайта. Нужно еще проследовать вот таким вот инструкциям, иначе попытка ткнуться к сканеру обламывается ошибкой доступа. Имеем в виду!
Для того, чтобы сканить могла вся локалка, потребуются пакеты sane и sane-utils со своими зависимостями конечно. После их установки достаточно поправить /etc/default/saned, поставив директиву RUN=yes, и /etc/sane.d/saned.conf, котором добавим адрес локалки по примеру.
Далее /etc/init.d/saned start и все, запущенный на любой машинке означенной локальной сети xsane сам найдет и подключит расшаренные сканеры.

15 июл. 2009 г.

Установка debmirror в OpenSuSE

Так как интернету сейчас много и широкого, за что спасибо Эр-Телекому с его "московским безлимитом", то появилась задачка - под управлением домашней OpenSuSE11.1 запустить скачивание и последующее обновление репозитория для Debian Lenny. wget отломился сразу, ибо он вытащит все подряд, для полутора десятков архитектур. С rsync-ом тоже как то не сложилось, ибо требуется учетка на сервере, откуда ты собираешься это все тянуть. Хотя, имейся она на mirror.yandex.ru, было бы беспроблемно. Сами дебиановцы рекомендуют использовать rsync и даже имеют готовые наборы скриптов для создания зеркала дистрибутива.
Мы же будем развлекаться с debmirror'ом, тем более что уже есть наработанные скрипты для обновления нужных репозиториев (main, backports, multimedia). Единственной проблемой является отсутствие пакета для SuSE самого debmirror'a. Но это не проблема на самом деле, ведь есть alien! Наши действия:
zypper refresh
zypper in alien
Все необходимые зависимости поставятся самостоятельно. После этого берем deb-пакет debmirror'a и создаем из него .rpm:
wget -c http://ftp.ru.debian.org/debian/pool/main/d/debmirror_20070123_all.deb
alien --to-rpm --scripts -T debmirror_20070123_all.deb
Опция -Т alien'a проверит полученный пакет, а --scripts сконвертирует внутренние скрипты пакета под новое окружение.Однако после zypper in ./debmirror-20070123-noarch.rpm и попытке запустить debmirror валится с ошибкой
Can't locate LockFile/Simple.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/
lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .) at ./debmirror lin
e 366.
BEGIN failed--compilation aborted at ./debmirror line 366.
Сие означает отсутствие требуемых модулей Perl'a. Гуглинг показал, что я не один в своих исканиях, поэтому список всех необходимых модулей нашелся довольно быстро:
Dash-prefixed modules are dependencies of the last package in a 'list'
-Compress::Raw::Zlib
-IO::Compress::Base
-IO::Compress:Zlib
Compress::Zlib

Digest::SHA1

-MIME::Base64
-URI
-HTML::Tagset
-HTML::Parser
-libnet ( already installed )
-Digest::MD5
libwww-perl
В принципе, если ставить через cpan install Module::Name, то достаточно брать имена модулей, которые без "-", остальные притянутся зависимостями. Модуль libwww-perl - не CPAN'овая запись, его можно поставить через zypper.
После установки всего необходимого - можно зеркалить репы сколько угодно, хоть Debian-ские, хоть Ubuntu-шные. Неплохая документация по тому, как создать скрипт зеркалирования на базе debmirror, есть тут.

9 июл. 2009 г.

Увеличение размера RAM внутри VZ-контейнера

По умолчанию в openvz-контейнере доступно для ОС 256MB RAM. Крайне маловато, если использовать ее для сервера БД, например. Для увеличения этого размера используется параметр privvmpages, однако значение этого параметра выражается в pages а не в привычных мегабайтах. Чтобы понять, сколько попугаев в удаве страниц в требуемом нам объеме (пусть это будет 1Gb), используем великий и ужасный bash:
echo $(($((1024 * 1024)) / $(($(getconf PAGE_SIZE) / 1024))))

Полученное значение (в моем случае 262144) отдаем виртуальной машине:
vzctl set 200 --privvmpages 262144 --save
где 200 - VEID машины, --save - сохранение параметра в конфиге. Без save проведенная настройка будет действительна лишь до перезагрузки контейнера.

6 июл. 2009 г.

VistualBox + usb проблемы

Как ни странно, но до сих пор актуальна проблема работы с usb-девайсами VirtualBox в окружении *buntu. А посему, в закладки краткий пошаговый howto, что где поправить и переписать, дабы все заработало. Там же есть ссылки на более подробные треды по сабжу.

Большие размеры bin-логов mysql

Столкнулся тут с неожиданной проблемой - кончилось место на жестком диске. И очень странным показался размер каталога /var/log/mysql - аж прям в пару гигабайт. эти логи были в бинарном формате, то есть так просто и не поглядишь, что там есть. В этих ваших интернетах нашлось описание, что такое MySQL Binary Log, и нахрена он нужен. Оказалось, что для моих целей - даром не нужен, ибо используется это чудо в целях повышения надежности при восстановлении данных и реплицирования. Как показывает практика, и без этого мелкие огрехи "мускуль" сам правит неплохо, а для крупных крахов суествуют бекапы, занимающие зачастую меньше места ;) Короче, отключаем:
nano /etc/my.cnf #грохаем комментируем строки, относящиеся к log_bin
#log_bin
#expire_logs_days = 10
#max_binlog_size = 100M

Перезапускаем mysqld
/etc/init.d/mysql restart

Усе.