02.09.10

telnet from linux to windows. admin login.

Posted in opensource at 2:00 am by viliar

Из серии очень специфического. Маловероятно, что кому-то пригодится, но мало ли.
telnet -8 -l `echo -n Администратор | iconv -f utf-8 -t cp866` 192.168.0.2

01.15.10

asterisk versions.

Posted in opensource at 10:47 pm by viliar

Оказывается на сайте астериска, причем в весьма доступном месте, есть таблица с версиями астериска и сроками поддержки. И 1.4.x, которую мы используем, является не просто устаревшей версией ( уже есть три следующие ветки 1.6.0.20, 1.6.1.11, 1.6.2.0), аки mysql 4.1.x, а вполне себе единственным на данным момент релизом LTS (Long Term Service), который переживет практически всех “нубов”. Последний, впрочем, по поддержке переживет всего на несколько дней. Смотреть здесь.

Так что ждем окончания, а потом сразу на следующий LTS - 1.8.

12.11.09

perl, jabber, utf8.

Posted in opensource at 12:02 pm by viliar

Про это немало “сказов сказано”, но ничего внятного я в итоге не нашел. Много отсылок к использованию decode/encode, парадигмы utf8 и черти чего еще. И не работает.
В зависимоcти от конкретного скрипта решает одна или две строчки:

binmode STDIN, “:utf8″;
binmode STDOUT, “:utf8″;

Все. Теперь с STDIN скрипт принимает русский, в jabber я получаю тоже русский.

12.02.09

Resource limit wrapper.

Posted in opensource at 9:52 pm by viliar

Наглые прожорливые программы, особенно в условиях ограниченного ресурса памяти, (да, того самого дешевого ресурса) на десктопе целесообразно запускать через какой-нибудь враппер типа этого:
$ cat /usr/bin/start

#!/bin/bash

ulimit -v 460800
ionice -c3 -p $$
nice -n19 $@ &

И запускать их типа start firefox, start linuxdcpp.
Опционально можно ограничить стэк и прочее. Ограничение по памяти указывать вторым аргументом. Небольшая, но автоматизация :-)

P.S. Это, конечно, не замена pam limits и пр, но “в пределах” одного пользователя удобно.

11.20.09

Занимательные факты о ядре.

Posted in linux at 2:50 am by viliar

Для того, чтобы собрать ядро с make allyesconfig (тест работы domU) нужно примерно 1.5Gb виртуальной памяти, то есть физической+свап. Иначе линкеру ее просто не хватает:

ld: final link failed: Memory exhausted.

Update: 1.5Gb тоже не хватило. Подключил 2Gb.

P.S. Размер стека естественно увеличен.

10.09.09

Greylist tip.

Posted in mail, antispam at 1:07 am by viliar

list “whitedomains” domain { google.com gmail.com yandex.ru ya.ru mail.ru bk.ru inbox.ru rambler.ru yahoo.com hotmail.com mx.aol.com nic.ru ripn.net relcom.spb.ru messagelabs.com livejournal.com vkontakte.ru odnoklassniki.ru  }


racl whitelist list “whitedomains”

racl greylist from /.*@(gmail\.com|yandex\.ru|ya\.ru|narod\.ru|mail\.ru|bk\.ru|inbox\.ru|rambler\.ru|hotmail\.com|yahoo\.com|aol\.com)/ delay 1h autowhite 6h

Первый список немного избыточен, но не суть. Думаю, что это вполне можно раcширить. Может только еще поиграться с delay и autowhite.

10.07.09

yum&chroot

Posted in linux at 9:37 am by viliar

# chroot /mnt/root/
# yum clean all
Traceback (most recent call last):
File “/usr/bin/yum”, line 4, in ?
import yum
File “/usr/lib/python2.4/site-packages/yum/__init__.py”, line 43, in ?
import rpmsack
File “/usr/lib/python2.4/site-packages/yum/rpmsack.py”, line 24, in ?
from packages import YumInstalledPackage, parsePackages
File “/usr/lib/python2.4/site-packages/yum/packages.py”, line 31, in ?
import rpmUtils.arch
File “/usr/lib/python2.4/site-packages/rpmUtils/arch.py”, line 303, in ?
canonArch = getCanonArch()
File “/usr/lib/python2.4/site-packages/rpmUtils/arch.py”, line 299, in getCanonArch
return getCanonX86_64Arch(arch)
File “/usr/lib/python2.4/site-packages/rpmUtils/arch.py”, line 262, in getCanonX86_64Arch
f = open(”/proc/cpuinfo”, “r”)
IOError: [Errno 2] No such file or directory: ‘/proc/cpuinfo’
# exit
# cat /proc/cpuinfo > /mnt/root/proc/cpuinfo
# chroot /mnt/root/
# yum clean all
Cleaning up Everything

И не надо mount –bind /proc или mount -t proc…

Update: достаточно даже
# touch /proc/cpuinfo

09.29.09

unbound

Posted in mail, opensource at 3:52 pm by viliar

Типа немножко рекламы. Далеко не новость, что с bind все не очень хорошо во многих аспектах. Но, честно говоря, он является де-факто стандартом среди dns серверов и даже, цитируя opennet, он является “reference implementation, т. е. если где то стандарт можно толковать по разному, то делать надо так как это сделано в bind.”

Поэтому, пока я не столкнулся с тем, что он просто дропает часть запросов на очень нагруженном почтовом фронтенде с postfix и отьедает много памяти и проца, у меня и мысли не было искать ему замену. Готов согласиться с тем, что вероятнее всего среди авторитарных dns серверов ему сейчас замены нет, но для использования dns только в роли рекурсора все не так фатально. В статье по ссылке на opennet рассказывалось об различных альтернативах, но все они по разным причинам мне не походили. Как обычно меня не хватает на детальный разбор полетов, в смысле обзор, поэтому обойдусь практически без цифр :-) Лучше всего показал себя в моих условиях unbound, который в качестве рекурсора решил все проблемы, которые были у меня с bind. Память лимитируется и ему хватило 256Mb, ну и запросы он пока не дропает. Процессор не поедает.

root@mx1 ~]# top -b | grep unbound
743 unbound 1 4 0 256M 237M kqread 0 20.6H 0.49% unbound
[root@mx1 ~]# ps aux | grep unbound | head -1
unbound 743 0.1 11.7 262028 242532 ?? RsJ 26Jul09 1233:48.63 /usr/local/sbin/unbound

[root@mx1 ~]# unbound-control stats
thread0.num.queries=623538557
thread0.num.cachehits=499713882
thread0.num.cachemiss=123824675
thread0.num.recursivereplies=123824635
thread0.requestlist.avg=20.4801
thread0.requestlist.max=240
thread0.requestlist.overwritten=0
thread0.requestlist.exceeded=0
thread0.requestlist.current.all=20
thread0.requestlist.current.user=15
thread0.recursion.time.avg=2.000007
thread0.recursion.time.median=0.0278163
total.num.queries=623538557
total.num.cachehits=499713882
total.num.cachemiss=123824675
total.num.recursivereplies=123824635
total.requestlist.avg=20.4801
total.requestlist.max=240
total.requestlist.overwritten=0
total.requestlist.exceeded=0
total.requestlist.current.all=20
total.requestlist.current.user=15
total.recursion.time.avg=2.000007
total.recursion.time.median=0.0278163
time.now=1254227226.907645
time.up=5600244.498232
time.elapsed=1947.175681

Любопытно будет посмотреть его статы, когда вся хостинговая почта будет переключена на использование этого фронтенда. Собственно говоря, связка postfix+unbound+milter-greylist показала себя уже очень хорошо и я могу ее рекомендовать в качестве реального антиспамого щита, но так как почти весь спам отшибается, совсем не видно, как работать система будет при большом потоке нормальных писем, которые нужно будет сохранять и передавать бэкендам. Тут как раз я имею шанс узнать, что такое нехватка дискового io с большой очередью :-) . Ну все-таки задача приема писем безболезненно распараллеливается на несколько машин, поэтому не думаю, что тут будут какие-то глобальные проблемы. Так или иначе, об этом я тоже напишу по-позже.

P.S. И да, еще пара голословных утверждений: С точки зрения производительности gps(greylist policy service) - отстой. А milter-greylist рулит.

07.31.09

Мыльные оперы с ветчиной.

Posted in mail, antispam at 10:49 am by viliar

6 стариков CGP, уставшие бороться со спамом. Молодой (2.6) воин postfix, в качестве фронтенда перед ними:

Total Connects In: 5911229 from 596296 hosts
Total Rejected Mail: 5674330
Total Greylisted Mail: 19537
Total Received Mail: 17760
Total Received Mail from Whitelisted: 6605
Смотрите в следующих сериях: Еще больше убитого спама. Еще больше спасенных калек CGP 4.1x и, конечно же, как всегда ничего неподозревающие и неблагодарные пользователи.

05.11.09

:-)

Posted in opensource at 10:57 pm by viliar

Фикс тривиальный, а все равно приятно:
[root@whisper febootstrap]# git-log –skip=4 -n1

commit 5bd960d0d968d25a14309ed4e1e892c249730fd4
Author: Richard Jones
Date:   Sun May 10 14:39:48 2009 +0100

Fix -u option (viliar.net.ru)

P.S. Патч таки приняли as-is. Последний раз так было приятно, пожалуй, даже не когда принимали патчи-фиксы в какую-то панель управления хостингом, а когда в openvz в контрибах положили переключалку по sysctl по видимости процессов в ve0 cpt0.

P.S. Да, все верно, я действительно не понял, как вывести в git-log нужный коммит по его id.

« Previous entries ·

16 queries. 0.361 seconds